4

Webサーバー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

PRXlsof | grep WWW1:sshで、現在124の開いている接続を示しています。WWW1では、同じコマンドで243の開いている接続が表示されます。WWW2、WWW3などにも同様のオープン接続があります。

WWW1とPRXはDebianです。クライアント接続は、Debian、Ubuntu、OSX10.6の組み合わせから来ています。私はEmacsTrampを使用していますが、これには私の外部に特別な構成(AFAIK)はありません~/.ssh/config

内部ポートが不足するのではないかと心配しています。理想的には、これらの接続を介入せずにクリーンアップする必要があります。理想的には、自分自身を殺すように構成することによって。古いプロセスを強制終了できるコマンドに失敗しても問題ありません。

4

2 に答える 2

10

より良い方法は-W、SSHのオプションを使用することです。

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

それ以外の

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

このようにして、あなたも依存を取り除きncます。

于 2012-06-04T16:39:28.707 に答える
4

それが重要かどうかはわかりませんが、私は使用しますnc -w 1 %h %p

于 2011-04-28T09:35:34.653 に答える