问题描述
我们使用Secure CRT连接远程主机时可能会遇到几分钟没操作就无法操作了,需要断开重新连接,非常的麻烦,假如客户端或者服务端能够在快要超时的时候给对方发送一个心跳,得到对方响应就重置下超时时间,这样就能完美解决问题。
服务端配置
在生产环境下处于安全考虑自己尽量不要动配置,并且一般你也没权限动配置,如果是测试环境或者自己的环境可以去修改一些配置,让它不要那么快超时。
需要root权限才能修改配置
查看具有root权限的用户,一般都是root
awk -F: '($3 == 0) { print $1 }' /etc/passwd
设置服务器超时时间
root用户可以设置在/etc/profile、 H O M E / . b a s h p r o f i l e 、 HOME/.bash_profile、 HOME/.bashprofile、HOME/.bashrc
普通用户就在 H O M E / . b a s h p r o f i l e 、 HOME/.bash_profile、 HOME/.bashprofile、HOME/.bashrc设置即可
# 半个小时
TMOUT=1800
修改 /etc/ssh/sshd_config 默认下面配置是没有开启的
# 每十分钟向客户端发送一次请求
ClientAliveInterval 600
# 3次请求无响应自动断开
ClientAliveCountMax 3
重启sshd
centos使用systemctl
systemctl sshd restart
客户端配置
一般服务端自己操作不了,可以操作客户端,以Secure CRT为例可以设置反空闲时间。
Options -> GlobalOptions -> General-> Default Session -> Edit Default Setting -> Terminal -> Anti-idle
发送的字符串自己随便填,越少越好,比如\n,发送时间不要大于上面提到的TMOUT时间
配置完之后基本就不会再断线了。
xshell也有类似配置,自己可以查一查。我没装xshell就不演示了
欢迎关注,学习不迷路!