SSH接続を維持する方法は?


11

アクティブに使用せずにSSH接続を維持するにはどうすればよいですか。使用すると正常に動作しますが、数分間使用しないと切断されます。接続するたびにメールが届くので、SSHセッションを存続させるにはどうすればよいですか?

注:私の.ssh/configファイルでは、一番上に

Host *
ServerAliveInterval 3

しかし、それは機能していないようです。


どのsshクライアント?3は短すぎるので、60の間隔を使用します。ルートアクセス権がある場合は、/ etc / ssh / ssh_configに配置することもできます。
パンサー

*それらすべてであるはずですよね?
NerdOfLinux 2017

私はそれがPuTTYで動作するとは思わない
パンサー

回答:


10

サーバーへのパケット送信の試行回数と間隔を指定する必要があります。.ssh/configファイルに次の行を入れることができます。

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

これにより、180秒(3分)ごとにサーバーにパケットが送信され、クライアントからの応答がない後に接続を閉じる前に2回試行されます。


2
のことを完全に忘れてしまいましたServerAliveCountMax。おそらくこれで問題が解決しました。
NerdOfLinux 2017

4

LinuxおよびApple Mac OS Xオペレーティングシステムでは、この~/.ssh/configファイルを使用して、SSH接続を維持する設定を含む、多くのSSH設定を指定できます。これを行うには、次の手順に従います。

  1. 任意のテキストエディタを使用~/.ssh/configして、ローカルコンピュータでファイルを開きます。注:.sshディレクトリーまたは構成ファイルが存在しない場合は、作成してください。

  2. 次の行を構成ファイルに追加します。ホストの値は、あなたが望む任意の名前にすることができます。他の設定のラベルにすぎません。ホスト名の値は、アクセスしたいリモートホストです。example.comをドメイン名に置き換えますユーザー名を自分のホスティングアカウントのユーザー名に置き換えます


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

この構成では、SSHクライアントは240秒(4分)ごとにサーバーにパケットを送信して、接続を維持します。(ServerAliveCountMax設定で指定されたように)2回試行してもクライアントが応答を受信しない場合、クライアントは接続を閉じます。

使用可能なすべてのSSH構成設定の詳細についてman ssh_configは、コマンドラインで入力してください。

  1. 変更を構成ファイルに保存します。

  2. SSHを使用してアカウントに接続します。これを行うには、単にssh exampleと入力します。ここで、exampleはステップ2で指定したHost値を表します。

接続を監視します。それでも低下する場合ServerAliveIntervalは、接続が安定するまで設定ファイルの設定を徐々に減らします。

詳細については、次のURLを確認してくださいhttps://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive


4

次のように、sshコマンドでこれらの引数を追加することもできます...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.