Ubuntu用terminal進行ssh連線,以及擱置一段時間自動斷開問題解決方案

冰雪封存的記憶發表於2020-10-07
  1. 如果系統沒有安裝ssh客戶端,先安裝ssh客戶端:
    sudo apt-get install ssh
    or
    sudo apt-get install openssh-client
    
  2. ssh客戶端安裝好後,運用以下命令連線伺服器:
    ssh [username]@[servername] -p [port]
    or
    ssh [username]@[ip:port]
    
    其中,如果伺服器的ssh服務埠是22,[port]可以省略。例如ssh伺服器的域名為example.com,使用者名稱為test,ssh服務埠號為22,那麼可以用:
    ssh test@example.com
    
    來登入。
  1. ssh客戶端設定
    開啟/etc/ssh/ssh_config檔案:
    sudo vim /etc/ssh/ssh_config
    
    在檔案最後新增:
    ServerAliveInterval 30
    ServerAliveCountMax 18
    
    ServerAliveInterval 30表示ssh客戶端會每30秒傳送一個KeepAlive請求,保證終端不會因為超時空閒而斷開連線.
    ServerAliveCountMax 18 表示ssh客戶端發出請求後,伺服器端沒有響應得次數達到18,就自動斷開連線,正常情況下,伺服器不會不響應。
  2. 伺服器端設定
    開啟/etc/ssh/ssh_config檔案:
    sudo vim /etc/ssh/ssh_config
    
    在檔案最後新增:
    ClientAliveInterval 30
    ClientAliveCountMax 18
    
    ClientAliveInterval 30表示ssh伺服器端會每30秒向客戶端傳送一次請求,保證不會因為超時空閒而斷開連線.
    ClientAliveCountMax 18表示ssh伺服器端發出請求後,客戶端沒有響應得次數達到18,就自動斷開連線,正常情況下,客戶端不會不響應。
    然後重啟ssh服務:
    service sshd restart
    

以上兩種方案選擇一種配置即可。

  1. 不修改ssh配置檔案
    在命令引數ssh中新增 -o ServerAliveInterval=30:
    ssh [username]@[servername] -o ServerAliveInterval=30
    
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章