參考文章:http://www.cnblogs.com/xuxm2007/archive/2011/04/21/2023611.htmlhtml
http://yunwei.blog.51cto.com/381136/432672shell
http://www.cnblogs.com/aoyihuashao/p/3298950.htmlvim
公司網絡加固,致使CRT鏈接老是斷開,網上查詢的到以下兩種方式來設置SSH 鏈接時間。windows
第一種方式成功解決問題,第二種方式是網上推薦最多的,但我這邊不知哪裏改錯了不適用,也暫且記下,供之後參考使用。bash
第一種解決方式:服務器
常常使用securecrt的時候會有timed out waiting for input: auto-logout,而後會話退出了網絡
解決辦法,有兩個:ssh
1.修改 工具
vim /etc/profilespa
TMOUT=60 #or the number of seconds you want
. /etc/profile
echo $TMOUT
2.在用戶目錄下的 .bash_profile 文件中添加
export TMOUT=60
第二種解決方式:
方法1、
一、 配置服務器
#vi /etc/ssh/sshd_config
1)找到 ClientAliveInterval參數,若是沒有就本身加一行數值是秒,好比你設置爲120 ,則是2分鐘
ClientAliveInterval 120
2)ClientAliveCountMax
指若是發現客戶端沒有相應,則判斷一次超時,這個參數設置容許超時的次數。如3 、5等自定義。
修改兩項參數後以下:
ClientAliveInterval 120
ClientAliveCountMax 0 ###在不容許超時次數
從新加載sshd服務。執行service sshd reload
方法2、
找到所在用戶的.ssh目錄,如root用戶該目錄在:
/root/.ssh/
在該目錄建立config文件
vi /root/.ssh/config
加入下面一句:
ServerAliveInterval 60
保存退出,從新開啓root用戶的shell,則再ssh遠程服務器的時候,
不會由於長時間操做斷開。應該是加入這句以後,ssh客戶端會每隔一段時間自動與ssh服務器通訊一次,因此長時間操做不會斷開。
方法3、
修改/etc/profile配置文件
# vi /etc/profile
增長:TMOUT=1800
這樣30分鐘沒操做就自動LOGOUT
方法4、
利用expect 模擬鍵盤動做,在閒置時間以內模擬地給個鍵盤響應,將下列代碼保存爲xxx,而後用expect執行
#!/usr/bin/expect
set timeout 60
spawn ssh user@host
interact {
timeout 300 {send "\x20"}
}
expect xxx
接着按提示輸入密碼就能夠了,這樣每隔300秒就會自動打一個空格(\x20),具體的時間間隔能夠根據具體狀況設置。
方法5、
若是你在windows下經過工具鏈接,能夠設置爲
secureCRT:選項---終端---反空閒 中設置每隔多少秒發送一個字符串,或者是NO-OP協議包
putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默認爲0, 改成300.