非アクティブのためにリモートホストによって閉じられたssh接続を解決するにはどうすればよいですか?


14

私は現在、コロコロにsshしようとしています。1〜2分間何も操作しないと、次のようになります。

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

sshターミナルで何か入力している限り、接続は維持されます。1〜2分の非アクティブ状態が発生するとすぐに、上記のメッセージが表示されます。接続しようとしているマシンは、Ubuntu 12.04.1 LTS 64ビットサーバーエディションです。これは物理サーバーではなく、ゲストVMwareです。私はMac端末からsshingしています。

この質問を、このサイトの類似の質問とキーワードssh_exchange_identificationを混同しないでください。無関係です。

回答:


17

以下を$ HOME / .ssh / configに追加すると、すべてのssh接続が30秒ごとにTCPKeepAliveを送信します。

TCPKeepAlive yes
ServerAliveInterval 30

サーバー上の構成ファイルが見つかりません
insoftservice

それが存在しない場合は、自分のホームディレクトリにファイルを作成することができます
balkian

9

Linuxコンピューターから接続している場合は、コマンドラインから直接いくつかのオプションを使用できます。

TCPKeepAlive:これは、TCP / IPプロトコルのKEEPALIVEオプションを使用して、指定された非アクティブ期間が経過した後も接続を維持します。ほとんどのシステムでは、これは2時間を意味します。そのため、SSHにTCPKeepAliveオプションが渡されると、SSHクライアントは暗号化されたパケットをSSHサーバーに送信し、TCP接続を継続して稼働させます。

ssh -o TCPKeepAlive=yes user@some.host.com

ServerAliveInterval:これは、ユーザーが指定したタイムアウト間隔を秒単位で設定します。SSHクライアントからSSHサーバーにパケットが送信されない場合、SSHはTCP応答のためにサーバーに暗号化された要求を送信します。30秒ごとにその要求を行うには:

ssh -o ServerAliveInterval=30 user@some.host.com

ソース


0

「キープアライブ」する必要があります

クライアントによっては、これはささいなことでも、簡単なことでも、それほど難しくはありません。

たとえば、パテでは接続オプションにあります(キープアライブをゼロ以外の値に設定します)


キープアライブはどこに設定しますか?サーバー上またはMacから?その値はどこに設定すればよいですか?推奨値は何ですか?
Thierry Lam、

キープアライブはクライアントで行われます...あなたの場合、あなたのMac。どこかにオプションがあります!
Andrew
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.