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