天天看點

如何設定SSH服務中終端的逾時時間或不逾時

 如何設定SSH服務中終端的逾時時間或不逾時  天狼星 釋出于:2011-09-07     [評:0] 

ssh服務是目前代替telnet的最安全有效的方法。目前大多數ssh服務是運作在Linux系統上的sshd服務。當通路終端在windows上時,各終端軟體,如,putty,SecureCRT等,大多支援設定向伺服器端自動發送消息,來防止終端定期逾時。其實,伺服器端也支援類似的設定,從伺服器的角度防止連結逾時。并且,當終端在Ubuntu 等Linux系統上時,用戶端也可進行類似設定。

下面我們就介紹,後兩種情況的設定方法以及通過設定shell變量來達到此目的的方法:

1、 配置伺服器

#vi /etc/ssh/sshd_config

1)找到 ClientAliveInterval參數,如果沒有就自己加一行

數值是秒,比如你設定為120 ,則是2分鐘

ClientAliveInterval 120

2)ClientAliveCountMax

指如果發現用戶端沒有相應,則判斷一次逾時,這個參數設定允許逾時的次數。如3 、5等自定義

修改兩項參數後如下:

----------------------------

ClientAliveCountMax 3   ### 0 不允許逾時次數

修改/etc/ssh/sshd_config檔案,将 ClientAliveInterval 0和ClientAliveCountMax 3的注釋符号去掉,将ClientAliveInterval對應的0改成60,沒有就自己輸入。

ClientAliveInterval指定了伺服器端向用戶端請求消息 的時間間隔, 預設是0, 不發送.而ClientAliveInterval 60表示每分鐘發送一次, 然後用戶端響應, 這樣就保持長連接配接了.ClientAliveCountMax, 使用預設值3即可.ClientAliveCountMax表示伺服器送出請求後用戶端沒有響應的次數達到一定值, 就自動斷開. 正常情況下, 用戶端不會不響應.

重新加載sshd服務。退出用戶端,再次登陸即可驗證。

2、 配置用戶端

#vi  /etc/ssh/ssh_config

然後找到裡面的

ServerAliveInterval

參數,如果沒有你同樣自己加一個就好了

參數意義相同,都是秒數,比如5分鐘等

ServerAliveInterval 300

下面是man sshd_config擷取的描述資訊

 ClientAliveInterval

             Sets a timeout interval in seconds after which if no data has

             been received from the client, sshd will send a message through

             the encrypted channel to request a response from the client.

             The default is 0, indicating that these messages will not be

             sent to the client.  This option applies to protocol version 2

             only.