在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...