在mac中使用终端, ssh连接到服务器后 隔一段时间没有数据传递时会自动断开,终端会卡着无响应,要等几分钟后才会显示断开并且返回到本地终端命令行。

解决方法:

  1. 用vim编辑器打开ssh配置文件,修改为每60秒发送向目标服务器发送一次心跳
sudo vim /etc/ssh/ssh_config
  1. 按要求输入mac用户的登陆密码后打开文件,GG跳转至文件末尾,按o在文件末尾添加 ServerAliveInterval 60,添加后效果如下所示:
Host *
        SendEnv  LANG LC_*
        ServerAliveInterval  60
        ServerAliveCountMax 2

ServerAliveInterval 60

ServerAliveCountMax 2

  1. 添加完成后按ESC键,输入:wq退出vim编辑器

参数含义:

ServerAliveInterval 60 表示每隔60秒,mac客户端会主动向服务器发出一次请求,用来维持长连接。

ServerAliveCountMax 2 表示服务器发出请求后客户端没有响应的次数达到2次, 就自动断开. 正常情况下, 客户端不会不响应。