zoukankan      html  css  js  c++  java
  • 解决 macOS 下 SSH 空闲一段时间后自动断开

    macOS 下使用 Terminal 连接 SSH 远程主机空闲一段时间就会进入假死状态,无法操作,短暂无响应后。

    遇到这种事情,非常麻烦,可能接着的命令重新开 tab 连接,前面的结果都看不到了。

    实质是终端没有设置心跳连接,终端连接一段时间后无法检测到心跳就会断开连接。

    解决办法

    分别包括客户端和服务端

    客户端配置

    在使用 Shell 的机器上设置,我配置后,已经解决。但找到的资料还有服务端配置,那就一起配置下,免得出问题。

    仅当前用户配置

    在客户端修改终端设置,每隔固定时间发心跳包来保持长连接状态。推荐使用此方式进行配置,仅对当前用户生效。

    vim ~/.ssh/config
    
    添加
    
    Host *
        ServerAliveInterval 30
        ServerAliveCountMax 2
    

    全局配置

    sudo vim /etc/ssh/ssh_config
    添加
    ServerAliveInterval 30
    ServerAliveCountMax 2
    

    服务端配置

    sudo vim /etc/ssh/sshd_config
    查找以下注释字段取消注释或直接添加到文件中
    ClientAliveInterval 60
    ClientAliveCountMax 3
    

    参数说明

    参数 说明
    ClientAliveInterval 指定了服务器端向客户端请求消息 的时间间隔,默认是 0 ,不发送
    ClientAliveInterval 60 表示每分钟发送一次,然后客户端响应,这样就保持长连接了
    ClientAliveCountMax 使用默认值 3 即可
    ClientAliveCountMax 表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开。正常情况下,客户端不会不响应。

    重新加载 sshd 服务。退出客户端,再次登陆即可验证。

    参考链接

    解决 macOS 下 SSH 空闲自动断开问题
    Mac OS X Terminal ssh Connection Keepalive - Rick Cogley

  • 相关阅读:
    mybatis框架demo first
    pro02总结:spring mvc + jdbc
    java开发常用jar包介绍(转载)
    proj01总结:spring jdbc操作
    mysql导入sql文件
    hibernate对象三种状态
    Hibernate 的saveOrUpdate方法(转)
    java web面试题,收集
    redis与spring整合·
    mybatis_2
  • 原文地址:https://www.cnblogs.com/ysmintor/p/jie-jue-macos-xia-ssh-kong-xian-yi-duan-shi-jian-h.html
Copyright © 2011-2022 走看看