黑帽联盟

 找回密码
 会员注册
查看: 1376|回复: 0
打印 上一主题 下一主题

[基础服务] 解决ssh登录后闲置时间过长而断开连接

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    有时我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,总结一下解决此问题的方法

    方法一、
    修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(单位为分钟)修改你想要的值,
    执行service sshd reload

    方法二、
    找到所在用户的.ssh目录,如root用户该目录在:
    /root/.ssh/
    在该目录创建config文件
    vi /root/.ssh/config
    加入下面一句:
    ServerAliveInterval 60
    保存退出,重新开启root用户的shell,则再ssh远程服务器的时候,
    不会因为长时间操作断开。应该是加入这句之后,ssh客户端会每隔一
    段时间自动与ssh服务器通信一次,所以长时间操作不会断开。

    方法三、
    修改/etc/profile配置文件
    # vi /etc/profile
    增加:TMOUT=1800
    这样30分钟没操作就自动LOGOUT

    方法四、
    利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应,将下列代码保存为xxx,然后用expect执行
    #!/usr/bin/expect  
    set timeout 60  
    spawn ssh user@host   
          interact {         
                timeout 300 {send "\x20"}  
          }
    expect xxx
    接着按提示输入密码就可以了,这样每隔300秒就会自动打一个空格(\x20),具体的时间间隔可以根据具体情况设置。

    方法五、
    如果你在windows下通过工具连接,可以设置为
    secureCRT:选项---终端---反空闲 中设置每隔多少秒发送一个字符串,或者是NO-OP协议包
    putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0, 改为300.

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部