第一步 :修改/etc/ssh/sshd_config文件
[root@centos7 ~]# vi /etc/ssh/sshd_config
找到以下內容并修改它:
ClientAliveInterval 0 ClientAliveCountMax 3
并將注釋符號("#")去掉,
將ClientAliveInterval對應的0改成60,
修改/etc/ssh/sshd_config文件
ClientAliveInterval指定了服務器端向客戶端請求消息 的時間間隔, 默認是0, 不發送.
ClientAliveInterval 60表示每分鐘發送一次, 然后客戶端響應, 這樣就保持長連接了.
ClientAliveCountMax, 使用默認值3即可.
ClientAliveCountMax表示服務器發出請求后客戶端沒有響應的次數達到一定值, 就自動斷開.
正常情況下, 客戶端不會不響應.
重起sshd服務:
CentOS6:
[root@centos6 ~]# service sshd restart
CentOS7:
[root@centos7 ~]# systemctl restart sshd
第二步:修改環境變量文件/etc/profile
為了增強linux系統的安全性,我們需要在用戶輸入空閑一段時間后自動斷開,這個操作可以由設置TMOUT值來實現。將以下字段加入到/etc/profile 中即可(對所有用戶生效)。
用以下命令判斷是否是否設置了該參數
[root@centos7 ~]# echo $TMOUT
如果輸出空或0表示不超時,大于0的數字n表示n秒沒有收入則超時
修改方法
[root@centos7 ~]# vi /etc/profile
添加以下內容:
export TMOUT=0
將以上修改為0就是設置不超時
修改/etc/profile文件
立即生效:
[root@centos7 ~]# source /etc/profile
如果使用的是CRT終端連接,那么設置反空閑即可,“選項-會話選項”。如下圖:
設置終端軟件定期連接反空閑
總結
Linux ssh會話中斷由很多原因造成,有防火墻的原因,有網絡連接質量的原因,也有服務器設置的原因, 本文只介紹服務器的原因及其解決方法。其它的原因并不在本文討論中。
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/922.html