如何解决SSH连接Linux超时问题

 4638

本篇文章给大家介绍如何解决SSH连接Linux超时问题,有一定的参考价值,有需要的朋友可以参考一下。


如何解决SSH连接Linux超时问题


在开发当中经常需要登录远程服务器,于是通过ssh或者putty登录,可是一转身,这厮就自动断开了。让人非常恼火,如何解决SSH连接Linux超时自动断开?

修改服务器相关配置

$TMOUT系统环境变量

  1. # 用以下命令判断是否是否设置了该参数
  2. echo $TMOUT
  3. # 如果输出空或0表示不超时,大于0的数字n表示n秒没有收入则超时
  4. # 修改方法
  5. vi /etc/profile
  6. # ----------------------------
  7. export TMOUT=900
  8. # ----------------------------
  9. # 将以上900修改为0就是设置不超时
  10. source /etc/profile
  11. # 让配置立即生效

sshd服务配置

  1. cd /etc/ssh
  2. # 查看sshd_config中关于客户端活动状态的配置
  3. grep ClientAlive sshd_config
  4. # 默认配置如下
  5. # ----------------------------
  6. #ClientAliveInterval 0
  7. #ClientAliveCountMax 3
  8. # ----------------------------
  9. # ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。
  10. # ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应,使用默认值3即可。
  11. # 备份原配置文件
  12. cp sshd_config sshd_config.bak
  13. # 启用客户端活动检查,每60秒检查一次,3次不活动断开连接
  14. sed -"s/#ClientAliveInterval 0/ClientAliveInterval 60/g" sshd_config
  15. sed -"s/#ClientAliveCountMax 3/ClientAliveCountMax 3/g" sshd_config
  16. # 确认修改
  17. grep ClientAlive sshd_config
  18. # 比较配置文件差异
  19. diff sshd_config sshd_config.bak
  20. # 重新加载ssd配置,让配置生效
  21. service sshd reload


修改客服端相关配置

登录脚本

  1. #!/usr/bin/expect
  2. set timeout 60
  3. spawn ssh user@host
  4.       interact {
  5.             timeout 300 {send "\x20"}
  6.       }
  7. expect eof

每隔 300 秒就会自动打一个空格(\x20),具体的时间间隔可以根据具体情况设置。


windows配置

如果你在windows下通过工具连接,可以设置为

secureCRT:选项---终端---反空闲 中设置每隔多少秒发送一个字符串,或者是NO-OP协议包

putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默认为 0, 改为 300.


TAG标签:
本文网址:https://www.zztuku.com/detail-9191.html
站长图库 - 如何解决SSH连接Linux超时问题
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    清爽夏日背景矢量素材