转载请注明出处玮璘博客:http://www.wangweilin.name/rj_450.html

方法一:

最近公司刚刚买了一台hyper-v的VPS,但是连接SSH服务器刚刚离开一会就断开,不得不需要反复连接服务器,为了使SSH服务器可以保持足够的连接时间,大家可以按以下方法设置:
基于安全的理由,如果用户连线到 SSH Server 后闲置,SSH Server 会在超过特定时间后自动终止 SSH 连线。以下是设定终止连线时间的方法:

1、打开 /etc/ssh/sshd_config 文件,找到一个参数为 ClientAliveCountMax,它是设定用户端的 SSH 连线闲置多长时间后自动终止连线的数值,单位为分钟。

2、如果这一行最前面有#号,将那个#号删除,并修改想要的时间。

3、修改后保存并关闭文件,重新启动 sshd:

/etc/rc.d/init.d/sshd restart

今天配置了下,发现这个是不对的,正确的配置是在/etc/profile里,使用TMOUT选项进行控制,如TMOUT=300,设定超时间隔为300秒。


修改自己 HOME 目录下的.bash_profile文件,加上 

#export TMOUT=1000000 (以秒为单位)   //貌似加了这句后ls都没有颜色了。
然后运行 source .bash_profile

/etc/ssh/sshd_config中加入
ClientAliveInterval=60


表示每一分钟,sshd都和ssh client打个招呼,看看他还在不在,要不然可能网络连接会丢失。


注意:设置以后一定要退出远程重新登陆一次。


这是我自己写的自动完成脚本:
echo export TMOUT=1000000 >> /root/.bash_profile
cat /root/.bash_profile
source .bash_profile


cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
echo ClientAliveInterval=60 >> /etc/ssh/sshd_config
service sshd restart
cat /etc/ssh/sshd_config

service sshd restart
exit

etc/profile文件   快速设置Linux超时退出脚本



Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐