使用SSH方式登录Linux操作系统的云服务器时,过一段时间就会自动断开连接。本篇操作介绍如何保持SSH会话持续连接不断开。
配置sshd
可通过修改sshd配置文件来解决自动断开的问题,编辑/etc/ssh/sshd_config文件设置心跳,保持连接。
vim /etc/ssh/sshd_config
# 新增如下两个配置
ClientAliveInterval 600
ClientAliveCountMax 10
ClientAliveInterval 600 表示每600秒发送一次请求, 从而保持连接。
ClientAliveCountMax 10 表示服务器发出请求后客户端没有响应的次数达到10次,就自动断开连接。
无响应的SSH客户端将在大约600×10=6000秒后断开连接。
修改完后重启sshd
# CentOS6
service sshd restart
# CentOS7
systemctl restart sshd
# 注意,执行这个操作会断开ssh连接。
设置Linux系统的空闲等待时间TMOUT
如果第一个方法不能解决断开连接的问题,那么大概率是因为在环境变量种配置了TMOUT。为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。将以下字段加入到/etc/profile 中即可(对所有用户生效)。
vim /etc/profile
export TMOUT=6000 # 设置6000秒内用户无操作就自动断开终端
readonly TMOUT # 将值设置为readonly 防止用户更改
有的时候设置了超时时间很短的话,当需要进行很多操作的时候,不希望经常超时断开,可以每次登录时候先在命令行下面执行下的命令,重启失效。执行以下命令,防止超时退出。
$TMOUT=0