Secure Shellは、Linux、OS X、およびWindowsで使用できるコンピューターまたはサーバーをリモートで管理する方法です。 オープンで無人のSSHセッションにはセキュリティ上のリスクがあるため、一定の間隔でSSHセッションがタイムアウトします。 一定時間非アクティブになると、接続がシャットダウンし、再度ログインする必要があります。 このタイムアウトは、システムのTCP設定によって定義されますが、サーバー設定またはクライアント設定でオーバーライドできます。 SSH接続が頻繁にタイムアウトする場合は、SSH構成をいつでも編集して、多かれ少なかれ非アクティブな時間を与えることができます。
TCPタイムアウト
サーバーのタイムアウトは、デフォルトでシステムのTCPタイムアウトになります。 これは、SSHサーバーがTCPKeepaliveを使用するように自動的に構成されているためです。TCPKeepaliveは、システムがアイドル状態の事前設定された時間にプローブを送信して、接続がまだ存在することを確認します。 このデフォルトは、システムによって異なります。 システムによっては、デフォルトで5秒まで使用するものもあれば、2時間まで使用するものもあります。 平均は通常約3〜5分です。 SSH接続は、サーバー側またはクライアント側のいずれかでタイムアウトを変更するように変更されていない場合、このタイムアウトを使用します。 サーバーまたはクライアントの設定により、このタイムアウトが上書きされます。
今日のビデオ
サーバー全体のタイムアウト設定
sshd_configファイルからタイムアウトを編集すると、サーバーにログオンするすべてのクライアントのタイムアウトオプションが変更されます。 システム管理者は、/ etc / ssh / sshd_configでこのファイルにアクセスできます。 ターミナルを使用していて、ターミナルエディターに慣れている場合は、「sudo nano / etc / ssh / sshd_config」と入力して、ターミナルで完全に編集できます。 アクティビティをチェックするためにデータのパケットをクライアントに送信するようにサーバーに指示するオプション「ClientAliveInterval」を追加します。 「ClientAliveCountMax」の追加も検討する必要があります。 これは、応答を取得せずに何回チェックする必要があるかをサーバーに通知します。 これらの前にポンド記号を付けないでください。 ポンド記号が前に付いている行はコメントと見なされ、サーバーのアクティブなオプションではありません。 たとえば、ClientAliveIntervalを5分に設定し、ClientAliveCountMaxを2に設定する場合、次のようになります。ClientAliveInterval300ClientAliveCountMax 2
クライアントベースのタイムアウト
Puttyなどのクライアントを使用している場合は、[接続]オプションをクリックしてタイムアウトを変更できます。 サイドバーで、「キープアライブ間の秒数」の横にあるテキストボックスに希望の時間を入力します。 秒。 これは、アクティビティ間で非アクティブになると思われる期間に完全に基づいている必要があります。 / etc / ssh / ssh_configにあるクライアント側の設定ファイルを開いて、これを手動で変更することもできます。サーバーファイル「sshd_config」の違いに注意してください。 設定「ServerAliveInterval」を追加し、接続をアクティブに保つためにクライアントがパケットを送信する頻度を秒単位で設定します。
タイムアウトを変更するリスク
明らかにタイムアウトの変更は便利な問題です。SSHサーバーへのログインを頻繁に更新しなくても、マルチタスクを実行できます。 ただし、これは、デスクトップにもっと注意を払う必要があることを意味します。 SSH接続を開いた状態でコンピューターから離れると、誰でも座ってサーバーにアクセスできます。 SSH接続を家庭用に開いたままにしておくことは、あなたがそうしているときよりも心配する必要はありませんが、 接続を開いたままにする習慣があると、間違った結果をもたらす可能性があります 手。