我們在通過遠程連接操作Linux server的時候,有可能過一段時間忘記操作,便會發生ssh斷開的問題。
而如果是本地的server,比較好辦,直連設備kill掉ssh,踢掉無效用戶連接,再次鏈接即可,但如果是遠程server的話,那就比較麻煩。
而使用ssh連接遠程服務器的時候,如果長時間沒有操作,遠程連接就有可能中斷。正在執行的程序和vim等緩沖區數據都會丟失。
關于這個問題,下面有幾種解決辦法,供參考:
echo TMOUT=600 >> ~/.bashrc 或 echo TMOUT=600 >> /etc/profile 設置一個超時的秒數,600秒后終端上沒有任何操作便自動斷開連接。
或者 修改ssh客戶端的配置:給/etc/ssh/ssh_config添加ServerAliveInterval 60
一.在Linux server去設置SSH保持連接時間:
基于安全的理由,如果用戶連線到 SSH Server 后閑置,SSH Server 會在超過特定時間后自動終止 SSH 連線。以下是設定終止連線時間的方法:
1、打開 /etc/ssh/sshd_config 文件,找到一個參數為 ClientAliveCountMax,它是設定用戶端的 SSH 連線閑置多長時間后自動終止連線的數值,單位為分鐘。
2、如果這一行最前面有#號,將那個#號刪除,并修改想要的時間。
3、修改后保存并關閉文件,重新啟動 sshd:
/etc/rc.d/init.d/sshd restart
4. vim .bash_profile
export TMOUT=1000000
二.保持ssh連接不斷開
用ssh連接服務端,一段時間不操作或屏幕沒輸出(比如復制文件)的時候,會自動斷開
解決:(2種辦法)
1、在客戶端配置
#vi /etc/ssh/ssh_config(注意不是/etc/ssh/sshd_config文件),后面添加
Host *ServerAliveInterval 30
這表示要讓所有的ssh連接自動加上此屬性;如果要指定服務端,如下:
使用-o的參數ServerAliveInterval來設置一個防止超時的時間
ssh -o ServerAliveInterval=30 IP地址
2、在服務端配置
編輯服務器 /etc/ssh/sshd_config,最后增加
ClientAliveInterval 60ClientAliveCountMax 1
這 樣,SSH Server 每 60 秒就會自動發送一個信號給 Client,而等待 Client 回應
三.修改server和連接終端
Linux系統server
在linux/199369.html">linux系統中使用ssh連接遠程服務器時,可以使用-o的一個參數ServerAliveInterval來設置防止超時的時間。
比如:ssh -o serveraliveinterval=60 username@hostIP
服務器配置修改
修改ssh配置文件/etc/ssh/sshd_config,添加或者修改ClientAliveInterval為“ClientAliveInterval 60”。這個參數的是意思是每1分鐘,服務器向客戶端發一個消息,用于保持連接。保存后記得重啟ssh服務。
修改過后,上面幾個辦法都可以讓ssh保持連接,一直處于alive狀態,不會因為沒有操作而被服務器強制斷線了。
終端:
使用SecureCRT連接遠程服務器,在會話選項 -> 終端設置中勾選“發送協議 NO-OP”。
使用putty連接遠程服務器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 默認為0,改為60。
四.如何退出退出無響應的 SSH 連接
有時候會發現 ssh 掛在那里沒有響應了,可能是客戶端的問題,也可能是服務器端的問題,也可能是客戶端和服務器之間的網絡問題;可能是客戶端電腦休眠后連接斷了、可能是網絡斷了、可能是 WiFi 信號不好、可能是網絡延遲大了、可能是服務器掛了、也可能是服務器上的 sshd 進程掛了,…,可能是技術問題,也可能是非技術問題,可以找出無數可能。
有時我們離開辦公桌前忘了退出 ssh 會話,或者工作的時候長時間 ssh 到服務器上忘記斷開,之后發現那些沒退出的 ssh 會話還掛在那里,無法退出、無法 Ctrl+C、無法做任何操作。通常我們就直接關閉 Terminal 后重新開一個新的;如果用的不是圖形系統,沒有窗口可以關閉,那還要啟用另一個終端找到相關進程后 kill 掉。這里有一個小技巧,在那些沒退出的 ssh 會話里用 ~. “優雅” 的斷開連接。
可以這樣操作:先 按“回車” 換行 再 按“shift + ` ”再按 “. ”
我們man 一下 ssh來看看:
其實Linux本身已經提供了很多便利的操作,只是我們需要多學習。以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答