前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决SSH连接Linux超时

解决SSH连接Linux超时

作者头像
chuchur
发布2022-10-25 14:43:43
9.1K0
发布2022-10-25 14:43:43
举报
文章被收录于专栏:禅境花园

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

修改服务器相关配置

$TMOUT 系统环境变量
代码语言:javascript
复制
# 用以下命令判断是否是否设置了该参数
echo $TMOUT
# 如果输出空或0表示不超时,大于0的数字n表示n秒没有收入则超时
# 修改方法
vi /etc/profile
# ----------------------------
export TMOUT=900
# ----------------------------
# 将以上900修改为0就是设置不超时
source /etc/profile
# 让配置立即生效
sshd 服务配置
代码语言:javascript
复制
cd /etc/ssh
# 查看sshd_config中关于客户端活动状态的配置
grep ClientAlive sshd_config
# 默认配置如下
# ----------------------------
#ClientAliveInterval 0
#ClientAliveCountMax 3
# ----------------------------
# ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。
# ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应,使用默认值3即可。
# 备份原配置文件
cp sshd_config sshd_config.bak
# 启用客户端活动检查,每60秒检查一次,3次不活动断开连接
sed -i "s/#ClientAliveInterval 0/ClientAliveInterval 60/g" sshd_config
sed -i "s/#ClientAliveCountMax 3/ClientAliveCountMax 3/g" sshd_config
# 确认修改
grep ClientAlive sshd_config
# 比较配置文件差异
diff sshd_config sshd_config.bak
# 重新加载ssd配置,让配置生效
service sshd reload

修改客服端相关配置

登录脚本

代码语言:javascript
复制
#!/usr/bin/expect
set timeout 60
spawn ssh user@host
      interact {
            timeout 300 {send "\x20"}
      }
expect eof

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

windows 配置

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改服务器相关配置
    • $TMOUT 系统环境变量
      • sshd 服务配置
      • 修改客服端相关配置
        • windows 配置
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档