目前使用的 iTerm2 作为 终端软件,每次唤醒 Mac 之后休眠之前没有断掉的 ssh 回话就会假死非常久,然后跳出一个 Broken pipe 。假死过程中往往任何操作都不响应,一般来说手动关掉这个窗口重新建立一个 ssh 连接会快的多,但是每次这么折腾还是挺麻烦的。经过多方研究和询问,得到以下解决方案:

编辑 ~/.ssh/config 文件,在其中添加:

1
2
3
4
5
6
7
8
9
Host *
#连接超时时间 5 秒
ConnectTimeout 5
#连接失败重试 3 次
ConnectionAttempts 3
#Client 每隔 15 秒心跳
ServerAliveInterval 15
#五次心跳检查失败后断开连接
ServerAliveCountMax 5