SSH接続がタイムアウトになる場合のサーバー側の設定

2021-07-08

SSHのタイムアウトに対策【SSHサーバー】

KeepAliveパケットをSSHサーバー側に送信しないSSHクライアントを使用している場合、数分通信を行なっていない場合はSSHサーバーとの通信が切れてタイムアウトになります。

その場合は、SSHクライアント側で設定するかSSHサーバー側で設定する方法となります。SSHクライアント側で設定するには以下の記事で設定して下さい

この記事ではサーバー側の設定をおこなう方法を紹介します。
SSHサーバー側での設定は「ClientAliveInterval」・「ClientAliveCountMax 」の設定をおこないます。
指定した秒数(ClientAliveInterval)クライアントと通信を確認しておこない通信がない場合は、設定した回数(ClientAliveCountMax )通信がない場合は通信を切断します

  • ClientAliveInterval・・・クライアントとの間で指定した秒数で応答確認を行なう設定(デフォルトでは無効)
  • ClientAliveCountMax・・・応答確認を行なう回数

SSHサーバーにタイムアウトをおこなわない設定する

「sshd_config」の設定ファイルに「ClientAliveInterval」・「ClientAliveCountMax」の設定をおこなえばSSHサーバーでタイムアウトにならない設定となります

下記の設定では、120行ごとの応答確認をおこない、応答確認は3回実施する設定です

$ sudo vi /etc/ssh/sshd_config
ClientAliveInterval 120
ClientAliveCountMax 3

# 設定をいれたら再起動して設定を反映します

# CentOS 7.x
$ sudo systemctl restart sshd

# CentOS 6.x
$ sudo /etc/init.d/sshd restart

 

LinuxCentOS 6,CentOS 7

Posted by admin