しばらくするとsshセッションがフリーズするのはなぜですか?[閉まっている]


10

これがこの質問をするのに適切な場所でない場合はお詫びします。

定期的に別のサーバーにsshする必要があります。さて、私の自宅のマシン(linux mint)から、ssh経由で接続すると、しばらく非アクティブになった後、sshシェルがフリーズし、元に戻す方法がありません。私ができる唯一のことは「〜。」です。それは少なくとも私の最初のシェルを元に戻します。

他の場所から同じサーバーにログインしても問題はありません。それは私のISPの問題でしょうか?これについてさらに調査するにはどうすればよいですか?

フリーズ後にssh接続を再確立し、元の場所に戻って作業を再開する必要があるので、それは本当に迷惑です。ありがとう


静的IPアドレスはありますか?そうでない場合、ISPがセッション中に別のIPアドレスを提供した可能性があります。ログを確認してください。
user9517 14

静的IPアドレスを持っていません。チェックします
ファビオ14

回答:


20

非アクティブな状態が続いた後、NATがTCPソケットをドロップしています。

sshクライアントはオプションで定期的にnoopsをサーバーに送信できるため、この問題を排除できます。これを行うには、これを以下に追加します~/.ssh/config

Host *
  ServerAliveInterval 60

別の方法として、NATを再構成して、アイテムを状態テーブルから期限切れにしないようにします。


上記に加えて、セッションにはターミナルマルチプレクサを使用する必要があります-GNU Screenやtmuxなど。これらのいずれかを使用すると、切断された場合にセッションを回復できます。


NAT、またはアイドルTCPセッションをドロップしたいパス内のひどく間違ったファイアウォール。状態を維持するためのメモリ不足以外に、アイドル状態のTCPセッションをドロップする理由はありませんが、機器のサイズを正しく設定して構成している場合は、ほとんど発生しません。それはあなたのプロバイダー/管理者が有能であるかどうかを知るのに良い機能です。
zerodeux

0

私の場合、問題は大きなMTUサイズでした。NATを使用している場合はルーターのMTUを変更できますが、サーバーのMTUを変更します。

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

Windowsでは、このキーを増やすこともできます。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.