Mac 下ssh自动断开的解决方案

经验 70 浏览

Mac 下使用终端ssh连接远程服务器,总是空闲一会就自动断开了。有时候服务器响应太慢,即使写了shell脚本快速登录体验也贼差,半天才退出来。我们可以通过以下方式来解决:

| 客户端配置

我们修改Mac客户端ssh,两个文件选择修改一个就可以了:

# 编辑如下文件(主机所有用户生效)
$ sudo vim /etc/ssh/ssh_config
# 编辑如下文件,不存在则创建(当前用户用户生效)
$ sudo vim ~/.ssh/config

# 找到 Host * 下面添加下面两行配置(.ssh/config中需要添加 Host * 这行配置)
ServerAliveInterval 30 # 表示每30秒向服务器发送一次请求,从而保持长连接;
ServerAliveCountMax 3  # 表示服务器发出请求后客户端没有响应的次数达到3次, 就自动断开。

| 服务端配置

我们登录远程服务器(Linux),并执行以下操作

# 编辑如下文件
sudo vim /etc/ssh/sshd_config

# 找到如下配置,打开并修改数值
ClientAliveInterval 30  # 表示每30s给客户端发送一次心跳;
ClientAliveCountMax 3   # 客户端3次没有返回心跳,则会断开连接。

| 临时配置

我们若只是临时想多连接一会,我们可以再连接时加上参数:

ssh -o ServerAliveInterval=30 root@127.0.0.1


后记:客户端和服务端两种方式选择其中一种就行了,个人建议修改客户端的配置,这样比较安全,同时也比较方便。临时配置也是比较好的选择,不用修改系统配置。我们在自己写的跳板机里面加上这个选项就ok了。

|  版权声明:本文为博主原创文章,转载请注明出处。