ssh登入一段時間後斷開的解決方案
阿新 • • 發佈:2019-01-06
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.
修改/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
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.