私は数ヶ月間SSHを使用してリモートサーバーにアクセスしてきましたが、最近は信頼性の高い接続を確立するのに問題があります。時々ログインできず、「ポート22を介して接続がリセットされました」というメッセージが表示されます。あるにもかかわらず)。アイドル状態ではありません)。
私の ~/.ssh/config ファイルには次のものがあります。
Host *
ServerAliveInterval 300
ServerAliveCountMax 2
TCPKeepAlive yes
私の/etc/ssh/sshd_configファイルには次のものがあります。
#ClientAliveInterval 300
#ClientAliveCountMax 3
私は最近xfinityプランをより高速にアップグレードしましたが、問題が発生し始めました。しかし、Xpinityは問題は私にあると主張した。私のルームメイトも同じSSHの問題に直面しています。
私が逃したものはありますか?どんな助けでも大変感謝します! (私はMac上で動作しています)
ベストアンサー1
~/.ssh/config ファイルを編集して同じ問題を解決しました。
Host *
ServerAliveInterval 20
TCPKeepAlive no
やる気
TCPKeepAlive no
これは、「サーバーに接続保持メッセージを送信しない」を意味します。逆 TCPKeepAlive yes が設定されている場合、クライアントは keepalive メッセージをサーバーに送信します。接続の終了を維持するには応答が必要です。。サーバーが失敗したか、再起動したかなどを検出します。問題は、クライアントとサーバー間の接続が短時間中断された場合(不安定なネットワーク接続のため)、Keepaliveメッセージが失敗し、クライアントが「壊れたパイプライン」で接続を終了することです。 。
この設定は、TCPKeepAlive no
ユーザーが接続がまだ良好であるという証拠を要求するまで、接続がまだ良好であると仮定するようにクライアントに指示します。これは、SSH用語がバックグラウンドでアイドル状態の間、一時的な接続の中断が接続を終了しないことを意味します。