SSH:一定期間活動がない場合、接続はリセットされます。

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です。

ベストアンサー1

home最後のログインはcomcast.netで行われたため、NATを実行しているルーターの背後にあるシステムから接続しているようです。 NAT を実行するシステムの 1 つの問題は、接続が不要になった時期を知ることです。接続が完全に切断されても問題はありませんが、両方のコンピュータが再起動されている場合、NATボックスはこれらのことが発生したことを知らせません。したがって、通常のNATボックスには、「1時間のトラフィックがなければ、明らかに両方のエンドポイントはもはや何も送信しません」というタイマーがあるため、NATが占めるリソースが回収されます。

したがって、あなたが望むのは時々トラフィックを送信することです。opensshCygwinシステムでこの実装を使用すると仮定すると、最も簡単な方法はTCPKeepAliveを有効にすることです。変える

ssh [email protected]

そして

ssh -o TCPKeepAlive=true [email protected]

長期間使用するには、~/.ssh/configファイルを作成することをお勧めします。

 host fred
     hostname host.com
     user root
     TCPKeepAlive=true

ssh fred次に、必要なオプションを使用してマシンに接続するだけです。

おすすめ記事