Linux ssh遠程連接斷開問題處理辦法解決
我們在通過遠程連接操作Linux server的時候,有可能過一段時間忘記操作,便會發(fā)生ssh斷開的問題。
而如果是本地的server,比較好辦,直連設備kill掉ssh,踢掉無效用戶連接,再次鏈接即可,但如果是遠程server的話,那就比較麻煩。
而使用ssh連接遠程服務器的時候,如果長時間沒有操作,遠程連接就有可能中斷。正在執(zhí)行的程序和vim等緩沖區(qū)數(shù)據(jù)都會丟失。
關于這個問題,下面有幾種解決辦法,供參考:
echo TMOUT=600 >> ~/.bashrc 或 echo TMOUT=600 >> /etc/profile 設置一個超時的秒數(shù),600秒后終端上沒有任何操作便自動斷開連接。
或者 修改ssh客戶端的配置:給/etc/ssh/ssh_config添加ServerAliveInterval 60
一.在Linux server去設置SSH保持連接時間:
基于安全的理由,如果用戶連線到 SSH Server 后閑置,SSH Server 會在超過特定時間后自動終止 SSH 連線。以下是設定終止連線時間的方法:
1、打開 /etc/ssh/sshd_config 文件,找到一個參數(shù)為 ClientAliveCountMax,它是設定用戶端的 SSH 連線閑置多長時間后自動終止連線的數(shù)值,單位為分鐘。
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的參數(shù)ServerAliveInterval來設置一個防止超時的時間
ssh -o ServerAliveInterval=30 IP地址
2、在服務端配置
編輯服務器 /etc/ssh/sshd_config,最后增加
ClientAliveInterval 60 ClientAliveCountMax 1
這 樣,SSH Server 每 60 秒就會自動發(fā)送一個信號給 Client,而等待 Client 回應
三.修改server和連接終端
Linux系統(tǒng)server
在linux系統(tǒng)中使用ssh連接遠程服務器時,可以使用-o的一個參數(shù)ServerAliveInterval來設置防止超時的時間。
比如:ssh -o serveraliveinterval=60 username@hostIP
服務器配置修改
修改ssh配置文件/etc/ssh/sshd_config,添加或者修改ClientAliveInterval為“ClientAliveInterval 60”。這個參數(shù)的是意思是每1分鐘,服務器向客戶端發(fā)一個消息,用于保持連接。保存后記得重啟ssh服務。
修改過后,上面幾個辦法都可以讓ssh保持連接,一直處于alive狀態(tài),不會因為沒有操作而被服務器強制斷線了。
終端:
使用SecureCRT連接遠程服務器,在會話選項 -> 終端設置中勾選“發(fā)送協(xié)議 NO-OP”。
使用putty連接遠程服務器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 默認為0,改為60。
四.如何退出退出無響應的 SSH 連接
有時候會發(fā)現(xiàn) ssh 掛在那里沒有響應了,可能是客戶端的問題,也可能是服務器端的問題,也可能是客戶端和服務器之間的網(wǎng)絡問題;可能是客戶端電腦休眠后連接斷了、可能是網(wǎng)絡斷了、可能是 WiFi 信號不好、可能是網(wǎng)絡延遲大了、可能是服務器掛了、也可能是服務器上的 sshd 進程掛了,…,可能是技術問題,也可能是非技術問題,可以找出無數(shù)可能。
有時我們離開辦公桌前忘了退出 ssh 會話,或者工作的時候長時間 ssh 到服務器上忘記斷開,之后發(fā)現(xiàn)那些沒退出的 ssh 會話還掛在那里,無法退出、無法 Ctrl+C、無法做任何操作。通常我們就直接關閉 Terminal 后重新開一個新的;如果用的不是圖形系統(tǒng),沒有窗口可以關閉,那還要啟用另一個終端找到相關進程后 kill 掉。這里有一個小技巧,在那些沒退出的 ssh 會話里用 ~. “優(yōu)雅” 的斷開連接。
可以這樣操作:先 按“回車” 換行 再 按“shift + ` ”再按 “. ”
我們man 一下 ssh來看看:
其實Linux本身已經(jīng)提供了很多便利的操作,只是我們需要多學習。以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Linux 出現(xiàn)telnet: 127.0.0.1: Connection refused錯誤解決辦法
這篇文章主要介紹了Linux 出現(xiàn)telnet: connect to address 127.0.0.1: Connection refused錯誤解決辦法的相關資料,需要的朋友可以參考下2017-05-05Linux 下載安裝VSCode 使用編程輸出當前時間的方法
這篇文章主要介紹了Linux 下載安裝VSCode 使用編程輸出當前時間,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06詳解如何在 Linux 中安裝最新的 Python 3.6 版本
本篇文章主要介紹了詳解如何在 Linux 中安裝最新的 Python 3.6 版本,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03linux下實現(xiàn)web數(shù)據(jù)同步的四種方式(性能比較)
這篇文章主要介紹了linux下常用的四種web數(shù)據(jù)同步方法,并且說明了每個方法的功能與優(yōu)勢,需要的朋友可以參考下2013-09-09