1. 程式人生 > >[轉]解決ssh登錄後閑置時間過長而斷開連接

[轉]解決ssh登錄後閑置時間過長而斷開連接

tao 發送 ring keep wan end keyword com AC

本文轉自:

轉載自博客園wanghetao的博客

我們通過終端連接服務器時,當鼠標和鍵盤長時間不操作,服務器就會自動斷開連接,我們還的需要重新連接,感覺很麻煩,總結一下解決此問題的方法

方法一

修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(單位為分鐘)修改你想要的值。
執行:

service sshd reload 

方法二【推薦】

找到所在用戶的.ssh目錄,如root用戶該目錄在:/root/.ssh/,在該目錄創建config文件

vi /root/.ssh/config

加入下面一句:

ServerAliveInterval 60

保存退出,重新開啟root用戶的shell,則再ssh遠程服務器的時候,不會因為長時間操作斷開。應該是加入這句之後,ssh客戶端會每隔一段時間自動與ssh服務器通信一次,所以長時間操作不會斷開。

方法三

修改/etc/profile配置文件

vi /etc/profile

增加:

TMOUT=1800

這樣30分鐘沒操作就自動LOGOUT

方法四

利用expect 模擬鍵盤動作,在閑置時間之內模擬地給個鍵盤響應,將下列代碼保存為xxx,然後用expect執行:

#!/usr/bin/expect  
set timeout 60  
spawn ssh user@host   
interact {          
      timeout 300 {send "\x20"}  
} 
expect xxx

接著按提示輸入密碼就可以了,這樣每隔300秒就會自動打一個空格(\x20),具體的時間間隔可以根據具體情況設置。

方法五

如果你在windows下通過工具連接,可以設置為
secureCRT:選項—終端—反空閑 中設置每隔多少秒發送一個字符串,或者是NO-OP協議包
putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默認為0, 改為300.

[轉]解決ssh登錄後閑置時間過長而斷開連接