Как удалить соединения, оставленные открытыми SSH ProxyCommand?

1097
Chris Burgess

У меня есть веб-сервер WWW1 и фронтальный прокси PRX. Я использую SSH ProxyCommand для подключения к внутреннему IP-адресу WWW1 (частный IP) через PRX (частный + публичный 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, но он не имеет специальной конфигурации (AFAIK) вне моей ~/.ssh/config.

Я обеспокоен исчерпанием внутренних портов, и в идеале я хочу, чтобы эти соединения очистились без вмешательства. В идеале, настраивая их, чтобы убить себя; если команда, с помощью которой я могу уничтожить старые процессы, это нормально!

0
Этот вопрос, который я изначально считал более подходящим для SuperUser, получил значок Tumbleweed за отсутствие ответа через несколько недель. Я дословно разместил его в StackOverflow и через пять минут нашел решение: http://stackoverflow.com/questions/5816489/how-to-purge-connections-left-open-by-ssh-proxycommand Chris Burgess 13 лет назад 0

1 ответ на вопрос

1
Chris Burgess

Добавьте -w 1в nc параметры.

 ProxyCommand ssh -q -a -x PRX nc %h 22 
Благодарим за этот ответ для sehe @ stackoverflow. Chris Burgess 13 лет назад 0

Похожие вопросы