解決ssh連接超時(shí)時(shí)間(ssh timeout)的設(shè)置方法
2016-09-02 07:38:35
14059
本文介紹下,linux中ssh連接超時(shí)時(shí)間的設(shè)置方法,以避免總是被強(qiáng)行退出。有需要的朋友,參考下吧。
有關(guān)修改ssh連接超時(shí)時(shí)間的方法,網(wǎng)上介紹的很多了。
比如下面這個(gè):
可以減少ssh連接超時(shí)等待的時(shí)間:
方法:ssh -o ConnectTimeout=3 192.168.0.10
或修改sshd_config文件里面的UseDNS 選項(xiàng),改為UseDNS no。
聰明的讀者,一定會(huì)發(fā)現(xiàn),上面這個(gè)修改,其實(shí)是減少ssh的連接時(shí)間,就是讓ssh的響應(yīng)時(shí)間快一些。
這點(diǎn)可以參考之前的一篇文章:ssh連接超時(shí)(ssh的usedns選項(xiàng))的解決辦法 。
再來(lái)看,設(shè)置ssh超時(shí)時(shí)間的方法。
修改自己 root 目錄下的.bash_profile文件,加上
export TMOUT=1000000 (以秒為單位)
然后運(yùn)行:
source .bash_profile
在/etc/ssh/sshd_config中加入:
ClientAliveInterval=60
每一分鐘,sshd都和ssh client打個(gè)招呼,檢測(cè)它是否存在,不存時(shí)即斷開連接。
注意:設(shè)置完成后,要退出ssh遠(yuǎn)程連接,再次登錄后才可以生效。因?yàn)橐僮x取一次./bash_profile。
為了方便,將設(shè)置寫成了如下腳本:
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
總結(jié):
在ClientAliveInterval(/etc/ssh/sshd_config)、環(huán)境變量TMOUT(在/etc/profile或.bash_profile中設(shè)置)以及putty的"Seconds between keepalives“這些方法中,經(jīng)
檢測(cè),只有TMOUT可以控制ssh連?在空閑時(shí)間超時(shí),自動(dòng)斷開連接的時(shí)間,數(shù)字單位為“秒”。
在設(shè)置了TMOUT后(非0),另外兩個(gè)變量則不起作用的。
另外,特別提醒的是,設(shè)置好ssh的登錄超時(shí)時(shí)間以后,記得退出重新登錄或重啟系統(tǒng),以使配置生效。