1. 程式人生 > >ssh登入一段時間後斷開的解決方案

ssh登入一段時間後斷開的解決方案

Method 1:
修改/etc/ssh/sshd_config配置檔案,設定ClientAliveCountMax值大一點,單位是分鐘。然後重啟ssh服務使生效:service sshd reload 


Method 2:
找到所在使用者的.ssh目錄,如root使用者該目錄在:/root/.ssh/
在該目錄建立config檔案 vi /root/.ssh/config
加入下面一句:ServerAliveInterval 60
儲存退出,重新開啟root使用者的shell,則再ssh遠端伺服器的時候,不會因為長時間操作斷開。應該是加入這句之後,ssh客戶端會每隔一段時間自動與ssh伺服器通訊一次,所以長時間操作不會斷開。


Method 3:
修改/etc/profile配置檔案
# vi /etc/profile
增加:TMOUT=1800
這樣30分鐘沒操作就自動LOGOUT


Method 4:
利用expect 模擬鍵盤動作,在閒置時間之內模擬地給個鍵盤響應,將下列程式碼儲存為xxx,然後用expect執行
#!/usr/bin/expect  
set timeout 60  
spawn ssh
[email protected]
  
      interact {          
            timeout 300 {send "\x20"}  
      } 
expect xxx
接著按提示輸入密碼就可以了,這樣每隔300秒就會自動打一個空格(\x20),具體的時間間隔可以根據具體情況設定。


Method 5:
Windows下ssh工具的設定:
secureCRT:選項---終端---反空閒 中設定每隔多少秒傳送一個字串,或者是NO-OP協議包
putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 預設為0, 改為300.