取消ssh端口转发


4

要访问受限制的大学网页,我经常运行以下命令:

ssh -fND port username@uni.address.here

然后我打开一个firefox配置文件,我已设置使用socks代理通过端口5555。我一直使用cygwin ssh这样做了一段时间,它工作正常。现在我在ubuntu上运行它并且它也可以工作但是当我关闭终端时它似乎没有结束。我目前没有打开终端但我仍然可以使用端口5555上的socks代理浏览网页并访问我无法访问的所有受限页面。如果我更改端口号或firefox配置文件,那么我无法访问这些文件,所以我可以得出的唯一结论是连接仍然打开,这导致我的问题:如何取消这个?

Answers:


4

ssh进程必须仍在运行。如果您确定这是唯一以用户身份运行的ssh进程,则可以执行此操作

killall ssh

作为您的用户。但是,找到正确的进程PID并杀死该特定进程会更安全- 这可以避免杀死正在运行的任何其他ssh进程。您可以使用图形工具执行此操作,或者:

ps -Afl|grep ssh

这将为您提供一个进程列表 - 每行上的用户名后面的第一个数字是PID。然后杀了它:

kill PID

其中PID是您在上面找到的PID。

由提问者编辑:

我不是在每次执行此操作时手动终止进程,而是创建了一个其他人可能会觉得有用的shell文件:

ssh -fND port user@uni.address.here && firefox -P SSH && kill `ps -ef|grep "ssh -fND"|grep -v "grep"|cut -c10-15`

firefox命令使用SSH配置文件打开firefox,我必须创建它(它只有必要的代理设置)。进程的第二个grep只是为了避免杀死grep进程本身(虽然现在考虑它似乎没有必要:grep将在它被杀死的时候完成)。


我尝试了一些东西但是找不到正确的过程,感谢它帮助修复它。但是你可以解释为什么我退出终端时它不会停止吗?我有什么办法可以阻止这种情况而不是每次查找PID吗?谢谢
保罗

终端必须向ssh进程发送不同的终止信号 - 甚至根本没有信号!我知道如何反向(让进程忽略信号),但这很奇怪。您使用的是哪个终端应用?Gnome终端?xterm的?
罗宾·格林

只是标准的gnome终端 - 今天刚刚安装。
保罗

看起来这个bug在Jaunty Jackalope中被修复了。您使用的是哪个版本的Ubuntu?
罗宾·格林

前几天下载了它。它是清醒的lynx:10.04 LTS
保罗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.