如何在CentOS上設置ssh保持長連接
ssh是管理Linux服務器常用的工具軟件,但是連接遠程服務器時,如果一段時間不操作,會自動斷開連接。以下將介紹在CentOS發行版上如何設置ssh配置文件,實現保持長連接的功能。 解決客戶端超時斷
ssh是管理Linux服務器常用的工具軟件,但是連接遠程服務器時,如果一段時間不操作,會自動斷開連接。以下將介紹在CentOS發行版上如何設置ssh配置文件,實現保持長連接的功能。
解決客戶端超時斷開問題
當使用ssh客戶端連接到CentOS服務器時,需要配置客戶端ssh的超時操作。在家目錄下的.ssh目錄中創建一個config文件,并將以下內容添加進去:
ServerAliveInterval 120
這一行的意思是,每120秒,客戶端向服務端發送一個空的包,以確保服務端認為客戶端在線,從而避免超時斷開。請注意,設置的時間應小于服務端的超時時間。
除了寫入配置文件固定起來,ssh客戶端還支持臨時設置這個參數。命令格式為:ssh -o "ServerAliveInterval 60" ip_address
,其中ip_address是服務器的IP地址。這樣,鏈接會臨時設置為60*603600秒的時間,避免超時斷開。
解決服務端超時斷開問題
在CentOS服務器上編輯ssh服務端配置文件:/etc/ssh/sshd_config。關注以下三個配置選項:
TCPKeepAlive yes
ClientAliveInterval 0
ClientAliveCountMax 3
默認情況下,這三個配置選項都是被注釋起來的。
TCPKeepAlive選項默認值為yes,無需修改。需要修改的是ClientAliveInterval和ClientAliveCountMax兩個值。一般設置為:
ClientAliveInterval 60
ClientAliveCountMax 60
即每60秒向客戶端發送一次數據包,若連續失敗60次后才會斷開連接。這意味著如果長達一個小時沒有操作,連接才會斷開。若時間過短,可將第二個參數的值更大,如120或240。
無論是修改客戶端配置還是服務端配置,在完成修改后,需重啟sshd進程使配置生效。重啟命令如下,適用于CentOS 7.x版本:
systemctl restart sshd
重新啟動速度快,正常情況下不會有輸出。若是CentOS 6.x版本,可使用/etc/init.d/sshd restart
命令重啟。