1. 为什么会发生自动断开?
SSH(Secure Shell)是一种通过加密通道来远程访问和管理服务器的安全协议。为了提高服务器的安全性,SSH 在一段时间内没有活动时会自动断开连接。这个行为被称为 SSH 会话超时。
SSH 会话超时的目的是防止未经授权的访问和保护服务器资源。通过自动断开闲置的连接,可以确保只有经过身份验证的用户才能访问服务器,并释放服务器资源以供其他用户使用。
2. 解决
修改在/etc/ssh目录下的sshd_config文件。
注意是sshd_config不是ssh_config。
修改以下2条配置:
# ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。
ClientAliveInterval 0
# ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应,使用默认值3即可
ClientAliveCountMax 3
重启ssh
service sshd reload