gpt4 book ai didi

linux - 如何清除 SSH ProxyCommand 保持打开状态的连接?

转载 作者:IT王子 更新时间:2023-10-29 00:49:12 26 4
gpt4 key购买 nike

我有一个网络服务器 WWW1 和一个前置代理 PRX。我使用 SSH ProxyCommand 通过 PRX(私有(private) + 公共(public) IP)连接到 WWW1 的内部 IP(私有(private) IP)。对于某些连接(不是全部),我看到网络连接在我完成后保持打开状态。这些加起来!

~/.ssh/配置

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 之外没有特殊配置 (AFAIK)。

我担心内部端口用完,理想情况下我希望这些连接无需干预即可自行清理。理想情况下,将它们配置为自杀;如果失败,我可以用一个命令杀死旧进程就可以了!

最佳答案

更好的方法是使用 SSH 的 -W 选项,这样你就可以把

 ProxyCommand ssh -q -a -x PRX -W %h:22

代替

 ProxyCommand ssh -q -a -x PRX nc %h 22

这样你也摆脱了对 nc 的依赖。

关于linux - 如何清除 SSH ProxyCommand 保持打开状态的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5816489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com