保持 SSH 连接

SSH 总是被强行中断,尤其是用 VSCode 代码写的好好的,突然刷新窗口,不仅效率低,更惹人恼火。

可以通过配置服务端或客户端的 SSH 来保持 SSH 链接:

方法一:配置服务端

可以在服务端配置,让 server 每隔 30 秒向 client 发送一个 keep-alive 包来保持连接:

1
vim /etc/ssh/sshd_config
1
2
ClientAliveInterval 30
ClientAliveCountMax 60

第二行配置表示如果发送 keep-alive 包数量达到 60 次,客户端依然没有反应,则服务端 sshd 断开连接。如果什么都不操作,该配置可以让连接保持 30s*60,30 min

重启本地 ssh

1
sudo service ssh restart

如果找不到 ssh,”Failed to restart ssh.service: Unit ssh.service not found.” ,需要安装

1
sudo apt-get install openssh-server

方法二:配置客户端

如果服务端没有权限配置,或者无法配置,可以配置客户端 ssh,使客户端发起的所有会话都保持连接:

1
vim /etc/ssh/ssh_config
1
2
ServerAliveInterval 30
ServerAliveCountMax 60

本地 ssh 每隔 30s 向 server 端 sshd 发送 keep-alive 包,如果发送 60 次,server 无回应断开连接。

在 VSCode 里可以直接添加配置,效果一样:

1
2
3
4
5
6
Host 11.22.33.44
HostName 11.22.33.44
User user
Port 112343
ServerAliveInterval 30
ServerAliveCountMax 60
DEBUG 原理 VSCode 隐藏编辑页面右上角的按钮
You need to set install_url to use ShareThis. Please set it in _config.yml.

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×