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

2022-07-15 11:18:15 字數 1356 閱讀 7006

在mac下使用securecrt通過ssh連線遠端伺服器時,總會一段時間沒有動作後,ssh被自動斷開。在windows下用xmanager貌似沒有遇到過這個問題。

在網上找了解決方法如下:

客戶端配置:

global.ini檔案中將d:"disconnect after resume timeout"=00000000改為d:"disconnect after resume timeout"=ffffffff

securecrt介面上配置:send string \n every 600 seconds或send protocol no-op every 600 seconds

服務端配置:

/etc/profile檔案中配置tmout=0

然而在securecrt中試驗發現無效,可能的原因有:多人反應securecrt的mac版有這個問題,mac的wifi斷開導致(wifi斷開的原因有多種,例如離開wifi的區域,mac休眠自動斷開wifi等)。

在網上搜了一遍mac下流行的ssh工具,有securecrt、iterm2、telnet lite等,下下來試了一下,iterm2的介面和體驗最好,於是決定放棄securecrt,改用iterm2。

在iterm2中仍然發現了ssh自動斷開的問題,於是又開始了漫長的尋找方法和試驗的過程。

網上有人給出解決方法是:

在客戶端:~/.ssh/config檔案(若沒有則新建)中新增如下內容:

host *

serveraliveinterval 60

意思是每60s傳送一次以保持連線。

注意:在ssh客戶端改,不要在服務端改(clientaliveinterval 60, clientalivecountmax 100),不安全

按照這個方法在iterm2和自帶終端上試驗

1. 服務端設定tmout=0,客戶端設定serveraliveinterval 60,不會斷

服務端設定tmout=900,客戶端設定serveraliveinterval 60,900s後立即斷,並有提示斷開

2. 服務端設定tmout=0,客戶端不配serveraliveinterval 60,半小時後終端沒反應,也沒提示斷開

服務端設定tmout=900,客戶端不配serveraliveinterval 60,半小時後終端沒反應,也沒提示斷開

於是最終方案:

1. 使用自帶終端或iterm2,iterm2介面和使用者體驗更好一點

2. 服務端:/etc/profile檔案中配置tmout=0,source /etc/profile生效,重新登入使用者

3. 客戶端:~/.ssh/config檔案中配置

host *

serveraliveinterval 60

參考:

SSH遠端連線伺服器

第一步 伺服器第一次開啟ssh服務,則會自動建立 etc ssh ssh host 公鑰檔案,以及私鑰檔案 第三步 伺服器將自己的公鑰檔案傳送給客戶端 明文 etc init.d ssh restart ssh f o p 帳號 ip 命令 引數 意義 f 不登入,直接在遠端伺服器執行 後面的命令 ...

ssh連線遠端伺服器

平常登陸遠端伺服器,每次都要輸入密碼,感覺挺麻煩的,下面提供一種相對便利的方式 windows 感覺xshell挺好的ubuntu sudo apt install expectmac brew install expect bin bash set timeout 30 spawn ssh l 使...

SSH連線遠端伺服器

ssh username ip p port提示輸入密碼後,即可登入 客戶端生成公鑰 私鑰 ssh keygen生成的公鑰 私鑰 存放在 ssh目錄下 將公鑰複製到伺服器上,追加到.ss 件夾下authorized keys檔案的末尾 scp p port ssh id rsa.pub userna...