1. 程式人生 > >解決ssh連線超時時間(ssh timeout)的設定方法

解決ssh連線超時時間(ssh timeout)的設定方法

 

本文介紹下,linux中ssh連線超時時間的設定方法,以避免總是被強行退出。有需要的朋友,參考下吧。
有關修改ssh連線超時時間的方法,網上介紹的很多了。
比如下面這個:
可以減少ssh連線超時等待的時間:
方法:ssh -o ConnectTimeout=3 192.168.0.10
或修改sshd_config檔案裡面的UseDNS 選項,改為UseDNS no。
聰明的讀者,一定會發現,上面這個修改,其實是減少ssh的連線時間,就是讓ssh的響應時間快一些。
這點可以參考之前的一篇文章:ssh連線超時(ssh的usedns選項)的解決辦法 。
再來看,設定ssh超時時間的方法。
修改自己 root 目錄下的.bash_profile檔案,加上
export TMOUT=1000000 (以秒為單位)
然後執行:
source .bash_profile
在/etc/ssh/sshd_config中加入:
ClientAliveInterval=60
每一分鐘,sshd都和ssh client打個招呼,檢測它是否存在,不存時即斷開連線。
注意:設定完成後,要退出ssh遠端連線,再次登入後才可以生效。因為要再讀取一次./bash_profile。
為了方便,將設定寫成了如下指令碼:

echo export TMOUT=1000000 >> /root/.bash_profile
cat /root/.bash_profile
source .bash_profile
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
echo ClientAliveInterval=60 >> /etc/ssh/sshd_config
service sshd restart
cat /etc/ssh/sshd_config
service sshd restart
exit
總結:
在ClientAliveInterval(/etc/ssh/sshd_config)、環境變數TMOUT(在/etc/profile或.bash_profile中設定)以及putty的"Seconds between keepalives“這些方法中,經
檢測,只有TMOUT可以控制ssh連線在空閒時間超時,自動斷開連線的時間,數字單位為“秒”。
在設定了TMOUT後(非0),另外兩個變數則不起作用的。
另外,特別提醒的是,設定好ssh的登入超時時間以後,記得退出重新登入或重啟系統,以使配置生效。

原文連結http://www.centoscn.com/CentosBug/softbug/2015/1014/6293.html