解决macOS Mojave(10.14.6) SSH连接断开问题

在使用SSH客户端进行连接管理的时候如果长时间不输入命令, 服务器会自动断开连接, `macOS Mojave(10.14.6) ` 系统上问题比较严重,即时服务端一直发送数据,也会出现连接中断的情况,导致长时间执行的远程 `Shell` 会大概率失败。

# 如果全局所有用户都有效,则调整如下文件
$ sudo vim /etc/ssh/ssh_config

# 如果仅仅当前用户都有效,则调整如下文件
# vim ~/.ssh/config

然后在配置文件尾部,增加如下内容:

Host *
        SendEnv LANG LC_*

        # macOS Mojave 需要设置为 no 否则照样会断开 
        TCPKeepAlive no

        # 客户端每隔 60S 发送一个空报文
        ServerAliveInterval 60

        # macOS Mojave 需要增加,原因在于Qos检测命令不被对端支持,导致连接丢失
        # packet_write_wait: Connection to 10.10.10.111 port 22: Broken pipe
        IPQoS lowdelay throughput

同时,对于超长时间的SSH监控,需要设置屏幕关闭时不要让电脑休眠,否则依旧会断开,原因在于对端发送数据的时候,电脑休眠,对于长时间的空连接是没问题的,但是对于数据频繁发送的情况,是必须阻止电脑休眠的。如下图:

参考链接


发布者

《解决macOS Mojave(10.14.6) SSH连接断开问题》上有1条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注