ssh连接服务器经常断开连接的解决方案

在使用 ssh 连接远程服务器时,经常会遇到刚连接上还没一会就断开连接的情况,这事由于 ssh 服务特有的会话连接机制判断客户端是否存活或者长时间未产生动作而主动将其断开,这样的机制经常会存在一些误判的情况。

这样的机制可以通过设置 sshd_config 文件来修改: 1. 打开 sshd_config 文件

imaginemiracle@im-Linux:~$ sudo vim /etc/ssh/sshd_config

2. 添加如下两行配置,保存并退出

# 设定每隔多少秒给 ssh 客户端发送一次信号
ClientAliveInterval 60
# 设定超过多少秒后断开与 ssh 客户端连接
ClientAliveCountMax 86400

[注]:此处的配置名称需要拼写正确,如若不然则会导致 sshd 无法重启。 3. 重启 ssh 服务

imaginemiracle@im-Linux:~$ sudo service sshd restart

4. shell 命令行便捷修改 [注]:执行过 1、2、3 步骤后可跳过第 4 步,或仅使用第 4 步,一步搞定。

sudo sed -i s/^export TMOUT=.*/export TMOUT=0/ /etc/profile &&sudo sed -i "/#ClientAliveInterval/aClientAliveInterval 60" /etc/ssh/sshd_config &&sudo sed -i "/#ClientAliveInterval/d"                        /etc/ssh/sshd_config &&sudo sed -i /ClientAliveCountMax/ s/^#//                   /etc/ssh/sshd_config &&sudo /bin/systemctl restart sshd.service

亦可以将,此处命令复制写入一个 shell 脚本中保存使用。 到此,重新连接该服务器将不会再频频断开连接了!

经验分享 程序员 微信小程序 职场和发展