如何設定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.