web-dev-qa-db-ja.com

SSH:しばらくアイドル状態になった後、接続がリセットされる

接続がしばらくアイドル状態になると、リモートホストが接続を閉じます。新しいコマンドを入力しようとすると、ハングして接続を閉じます。 ssh接続をより長くアクティブに保つにはどうすればよいですか?

$ ssh [email protected]
Last login: Tue Jan  3 03:09:39 2017 from c-99-99-99-99.hsd1.xx.comcast.net
[root@ip-172-99-99-99 ~]# groups
root bin daemon sys adm disk wheel
[root@ip-172-99-99-99 ~]# users
root root
[root@ip-172-99-99-99 ~]# less /etc/passwd
[root@ip-172-99-99-99 ~]# Connection reset by 52.99.99.99 port 22

リモートはAmazon(AWS)上のCentOSで、ローカルはCygwinです。

6
Chloe

最後のログインはcomcast.netからだったので、NATを実行しているルーターの背後にあるhomeシステムから接続していると思います。 NAT=を実行しているシステムが抱えている問題は、接続が不要になったことを知っていることです。接続が完全に切断されれば問題はありませんが、2台のマシンを再起動するだけでは問題はありません。 NATボックスにこれが発生したことを通知します。したがって、通常のNATボックスには、「1時間トラフィックがない場合、2つのエンドポイント明らかにこれ以上何も送信しない」ため、NATが使用していたリソースをリサイクルします。

したがって、やるべきことは、時々トラフィックを送信することです。 cygwinマシンでopenssh実装を使用していると想定する最も簡単な方法は、TCPKeepAliveを有効にすることです。取り替える

ssh [email protected]

ssh -o TCPKeepAlive=true [email protected]

長期間使用する場合は、~/.ssh/configファイル。

 Host fred
     hostname Host.com
     user root
     TCPKeepAlive=true

そして、あなたは単にssh fred必要なオプションを使用してマシンに接続します。

10
icarus