Linux ssh遠端連線斷開問題處理辦法解決

2022-09-26 15:39:26 字數 2426 閱讀 2429

我們在通過遠端連線操作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 60

clientalivecountmax 1

這 樣,ssh server 每 60 秒就會自動傳送乙個訊號給 client,而等待 client 回應

三.修改server和連線終端

linux系統server

在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 ssh遠端連線斷開問題處理辦法解決

本文位址: /os/linux/183711.html

Mac下ssh連線遠端伺服器時自動斷開問題

在mac下使用securecrt通過ssh連線遠端伺服器時,總會一段時間沒有動作後,ssh被自動斷開。在windows下用xmanager貌似沒有遇到過這個問題。在網上找了解決方法如下 客戶端配置 global.ini檔案中將d disconnect after resume timeout 000...

Linux ssh遠端登入

1 使用ssh遠端登入linux主機 ssh 伺服器使用者名稱 伺服器ip,s輸入口令即可。2 在windows上登入linux的常用軟體有securcrt和putty 3 使用ssh秘匙跳過密碼輸入遠端登入 一 本地生成公匙和秘匙。執行 ssh keygen t rsa rsa的目錄選擇使用者主目...

linux ssh連線問題

vi etc ssh sshd config 增加port 2800 systemctl restart sshd firewall cmd zone public add port 2800 tcp permanent 開啟firewall商品 firewall cmd query port 28...