私は仕事のために毎日アジアからヨーロッパのリモートマシンにSSH接続する必要があります。しかし、PuTTYは完全にランダムな時間にフリーズすることがあり、新しいsshセッションを閉じて再度開くしかありません。特に何かを編集しているときや、長時間実行されているプログラムを実行しているときは、イライラします。
私は質問が本当に多くの詳細を持っていないことを知っています( 'ネットワークに何も問題がないように見えるからです)。誰かがPuTTYでこの種の問題を経験し、それを解決しましたか?
御時間ありがとうございます!
フリーズはタイムアウトの問題である可能性があります。残念ながら、それを修正する簡単な方法はないようです。これが私が見つけたすべてです: PuTTY FAQ
これが役立つなら、それはうまくいきます。ただし、切断の問題を最小限に抑えたい場合は、実際に使用を開始する必要があります screen 以下で説明するPersistence機能は特に興味深いはずです。
機能
GNU Screenは、グラフィカルウィンドウマネージャーのテキストバージョン、または仮想端末を任意のログインセッションに配置する方法と考えることができます。これは、複数のテキストプログラムを同時に実行できるようにするラッパーであり、ユーザーが単一のインターフェイス内でプログラムを生産的に使用できるようにする機能を提供します。永続性
VNCと同様に、GNU Screenを使用すると、ユーザーは1台のコンピューターからアプリケーションを起動し、別のコンピューターから再接続して、同じアプリケーションを再起動せずに引き続き使用できます。 Screenは端末に依存しない機能を提供するため、ユーザーはさまざまな端末タイプを使用して切断および再接続できるため、端末の変更に気付かずにアプリケーションを実行し続けることができます。複数のウィンドウ
複数のターミナルセッションを作成できます。各セッションは通常、単一のアプリケーションを実行します。ウィンドウには番号が付けられており、ユーザーはキーボードを使用してウィンドウを切り替えることができます。一部のGUIターミナルエミュレータは、タブまたはこれと同様の機能を提供します。各ウィンドウには独自のスクロールバックバッファがあるため、ウィンドウがアクティブに表示されていない場合でも出力がキャプチャされ、別のコンピュータに移行する場合でもその履歴を保存できます。 Windowsは分割画面にすることができます。一部のテキストアプリケーションにはこの機能が組み込まれていますが、Screenを使用すると、任意のアプリケーションを他の任意の数のアプリケーションと一緒に分割画面で表示できます。セッション共有
Screenを使用すると、複数のコンピューターを同時に同じセッションに接続して、複数のユーザー間のコラボレーションを行うことができます。同じコンピューターを使用して複数の同時接続を行うこともでき、特に複数のモニターを備えたコンピューターの場合、画面分割の代替機能を提供します。
http://breakablelinux.blogspot.com/2007/12/preventing-PuTTY-timeouts.html のチュートリアルに従うことで、PuTTYにキープアライブタイプのパケットを頻繁に送信させることができます。
最初のポスターが正しければ、次のレジストリ編集でタイムアウトを増やすことができます。これは、切断が少なくなることを意味します。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
問題がPuTTYであると思われる場合は、poderosaなどの別のSSHクライアントを試してください
私が見つけた最も簡単な解決策は、フロー制御を再開するctrl-qを押すことです。
通常、ctrl-sを押して保存します。これは、PuTTYで非常に煩わしいと思います。最初はフリーズしていると思いましたが、実際にはフロー制御がオフになっていて、ctrl-qが再びオンになります。
私が実際に機能することがわかった唯一の回避策は、WindowsマシンでLinuxVMを使用することです。私はそれを起動し(それはlinux mintです)、ターミナルを起動します、そして出来上がり、私のssh接続は完全に機能し、フリーズの問題はもうありません!また、それがsshfsを確実に実行する唯一の方法であることがわかりました。
私の場合、問題はMTUサイズが大きいことでした。 NATを使用している場合は、ルーターのMTUを変更できますが、サーバーのMTUを変更します。
Sudo /sbin/ifconfig eth0 mtu 1036
Sudo /etc/init.d/networking restart