如何清除 SSH ProxyCommand 保持打开的连接?
我有一个网络服务器 WWW1 和一个前置代理 PRX。我使用 SSH ProxyCommand 通过 PRX(私有+公共 IP)连接到 WWW1 的内部 IP(私有 IP)。对于某些连接(不是全部),我在完成后看到网络连接保持打开状态。这些加起来!
~/.ssh/config
Host *
ServerAliveInterval 5
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
Host WWW1 WWW2 WWW3
User foo
ProxyCommand ssh -q -a -x PRX nc %h 22
IdentityFile ~/.ssh/id_foo_WWWx
在 PRX 上,lsof | grep WWW1:ssh
显示目前有 124 个打开的连接。在 WWW1 上,相同的命令显示 243 个打开的连接。 WWW2、WWW3 等也有类似的开放连接。WWW1
和 PRX 是 Debian。客户端连接来自 Debian、Ubuntu 和 OSX10.6 的组合。我使用 Emacs Tramp,但这在我的 ~/.ssh/config
之外没有特殊配置(据我所知)。
我担心内部端口耗尽,理想情况下我希望这些连接能够在无需干预的情况下自行清理。理想情况下,通过配置它们来自杀;如果失败,我可以用一个命令来杀死旧进程就可以了!
I have a webserver WWW1 and a front-facing proxy PRX. I use SSH ProxyCommand to connect to WWW1's internal IP (private IP) via PRX (private+public IP). For some connections (not all) I see a network connection left open after I'm finished. These add up!
~/.ssh/config
Host *
ServerAliveInterval 5
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
Host WWW1 WWW2 WWW3
User foo
ProxyCommand ssh -q -a -x PRX nc %h 22
IdentityFile ~/.ssh/id_foo_WWWx
On PRX, lsof | grep WWW1:ssh
shows 124 open connections at the moment. On WWW1, the same command shows 243 open connections. There are similar open connections for WWW2, WWW3 etc.
WWW1 and PRX are Debian. Client connections are coming from a mix of Debian, Ubuntu and OSX10.6. I use Emacs Tramp but this has no special configuration (AFAIK) outside of my ~/.ssh/config
.
I'm concerned about running out of internal ports, and ideally I want these connections to clean themselves up without intervention. Ideally by configuring them to kill themselves off; failing that a command I can kill old processes with is fine!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
更好的方法是使用 SSH 的
-W
选项,这样你就可以用这样的方式代替
nc
,这样你也摆脱了对nc
的依赖。A better way would be to use the
-W
option of SSH, so you could putinstead of
This way you get rid of dependence on
nc
too.不知道这是否重要,但我使用 nc -w 1 %h %p
Don't know whether it matters but I use
nc -w 1 %h %p