VS Code 通过 SSH 连接服务器, SSH 会话断开导致服务器运行的程序中断
1. 避免程序中断
即使网络中断,你也可以通过以下方式让程序继续运行:
(1) 使用 tmux
或 screen
tmux
和 screen
是 Linux 下的终端复用工具,允许你在服务器上开启一个会话并保持运行状态,即使 SSH 会话断开,程序仍然继续运行。
步骤:
- 在服务器上安装
tmux
或screen
。sudo apt install tmux # Debian/Ubuntu sudo yum install tmux # CentOS/RHEL
- 启动一个
tmux
会话:tmux new -s mysession
- 在
tmux
会话中运行你的程序。 - 断开 SSH 后,重新连接时可以恢复
tmux
会话:tmux attach -t mysession
(2) 使用 nohup
nohup
(No Hangup)可以让程序在后台运行,防止它因终端断开而停止。
示例:
nohup python your_script.py > output.log 2>&1 &
&
:表示程序在后台运行。output.log
:将输出重定向到日志文件。
2. 保持 VS Code SSH 会话稳定
如果想尽可能避免 SSH 会话断开,可以进行以下配置:
(1) 配置 SSH 的 ServerAliveInterval
在 SSH 配置文件中增加心跳机制,让客户端与服务器保持活跃连接:
编辑 SSH 配置文件:
vim ~/.ssh/config
添加以下内容:
Host * ServerAliveInterval 60 ServerAliveCountMax 3
ServerAliveInterval 60
:每 60 秒发送一次心跳包。ServerAliveCountMax 3
:如果连续 3 次心跳失败(3 分钟),SSH 会断开连接。
(2) 配置服务器端 SSHD
在服务器上,修改 /etc/ssh/sshd_config
文件,增加客户端保持活跃配置:
ClientAliveInterval 60 ClientAliveCountMax 3
然后重启 SSH 服务:
sudo systemctl restart sshd
本文地址:https://www.vps345.com/2973.html
下一篇:计算机网络与服务器