我們?cè)谕ㄟ^(guò)遠(yuǎn)程連接操作Linux server的時(shí)候,有可能過(guò)一段時(shí)間忘記操作,便會(huì)發(fā)生ssh斷開(kāi)的問(wèn)題。
而如果是本地的server,比較好辦,直連設(shè)備kill掉ssh,踢掉無(wú)效用戶連接,再次鏈接即可,但如果是遠(yuǎn)程server的話,那就比較麻煩。
而使用ssh連接遠(yuǎn)程服務(wù)器的時(shí)候,如果長(zhǎng)時(shí)間沒(méi)有操作,遠(yuǎn)程連接就有可能中斷。正在執(zhí)行的程序和vim等緩沖區(qū)數(shù)據(jù)都會(huì)丟失。
關(guān)于這個(gè)問(wèn)題,下面有幾種解決辦法,供參考:
echo TMOUT=600 >> ~/.bashrc 或 echo TMOUT=600 >> /etc/profile 設(shè)置一個(gè)超時(shí)的秒數(shù),600秒后終端上沒(méi)有任何操作便自動(dòng)斷開(kāi)連接。
或者 修改ssh客戶端的配置:給/etc/ssh/ssh_config添加ServerAliveInterval 60
一.在Linux server去設(shè)置SSH保持連接時(shí)間:
基于安全的理由,如果用戶連線到 SSH Server 后閑置,SSH Server 會(huì)在超過(guò)特定時(shí)間后自動(dòng)終止 SSH 連線。以下是設(shè)定終止連線時(shí)間的方法:
1、打開(kāi) /etc/ssh/sshd_config 文件,找到一個(gè)參數(shù)為 ClientAliveCountMax,它是設(shè)定用戶端的 SSH 連線閑置多長(zhǎng)時(shí)間后自動(dòng)終止連線的數(shù)值,單位為分鐘。
2、如果這一行最前面有#號(hào),將那個(gè)#號(hào)刪除,并修改想要的時(shí)間。
3、修改后保存并關(guān)閉文件,重新啟動(dòng) sshd:
/etc/rc.d/init.d/sshd restart
4. vim .bash_profile
export TMOUT=1000000
二.保持ssh連接不斷開(kāi)
用ssh連接服務(wù)端,一段時(shí)間不操作或屏幕沒(méi)輸出(比如復(fù)制文件)的時(shí)候,會(huì)自動(dòng)斷開(kāi)
解決:(2種辦法)
1、在客戶端配置
#vi /etc/ssh/ssh_config(注意不是/etc/ssh/sshd_config文件),后面添加
Host *ServerAliveInterval 30
這表示要讓所有的ssh連接自動(dòng)加上此屬性;如果要指定服務(wù)端,如下:
使用-o的參數(shù)ServerAliveInterval來(lái)設(shè)置一個(gè)防止超時(shí)的時(shí)間
ssh -o ServerAliveInterval=30 IP地址
2、在服務(wù)端配置
編輯服務(wù)器 /etc/ssh/sshd_config,最后增加
ClientAliveInterval 60ClientAliveCountMax 1
這 樣,SSH Server 每 60 秒就會(huì)自動(dòng)發(fā)送一個(gè)信號(hào)給 Client,而等待 Client 回應(yīng)
三.修改server和連接終端
Linux系統(tǒng)server
在linux系統(tǒng)中使用ssh連接遠(yuǎn)程服務(wù)器時(shí),可以使用-o的一個(gè)參數(shù)ServerAliveInterval來(lái)設(shè)置防止超時(shí)的時(shí)間。
比如:ssh -o serveraliveinterval=60 username@hostIP
服務(wù)器配置修改
修改ssh配置文件/etc/ssh/sshd_config,添加或者修改ClientAliveInterval為“ClientAliveInterval 60”。這個(gè)參數(shù)的是意思是每1分鐘,服務(wù)器向客戶端發(fā)一個(gè)消息,用于保持連接。保存后記得重啟ssh服務(wù)。
修改過(guò)后,上面幾個(gè)辦法都可以讓ssh保持連接,一直處于alive狀態(tài),不會(huì)因?yàn)闆](méi)有操作而被服務(wù)器強(qiáng)制斷線了。
終端:
使用SecureCRT連接遠(yuǎn)程服務(wù)器,在會(huì)話選項(xiàng) -> 終端設(shè)置中勾選“發(fā)送協(xié)議 NO-OP”。
使用putty連接遠(yuǎn)程服務(wù)器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 默認(rèn)為0,改為60。

四.如何退出退出無(wú)響應(yīng)的 SSH 連接
有時(shí)候會(huì)發(fā)現(xiàn) ssh 掛在那里沒(méi)有響應(yīng)了,可能是客戶端的問(wèn)題,也可能是服務(wù)器端的問(wèn)題,也可能是客戶端和服務(wù)器之間的網(wǎng)絡(luò)問(wèn)題;可能是客戶端電腦休眠后連接斷了、可能是網(wǎng)絡(luò)斷了、可能是 WiFi 信號(hào)不好、可能是網(wǎng)絡(luò)延遲大了、可能是服務(wù)器掛了、也可能是服務(wù)器上的 sshd 進(jìn)程掛了,…,可能是技術(shù)問(wèn)題,也可能是非技術(shù)問(wèn)題,可以找出無(wú)數(shù)可能。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注