VS Code 通过 SSH 连接服务器, SSH 会话断开导致服务器运行的程序中断

1. 避免程序中断

即使网络中断,你也可以通过以下方式让程序继续运行:

(1) 使用 tmuxscreen

tmuxscreen 是 Linux 下的终端复用工具,允许你在服务器上开启一个会话并保持运行状态,即使 SSH 会话断开,程序仍然继续运行。

步骤:

  1. 在服务器上安装 tmuxscreen
    sudo apt install tmux # Debian/Ubuntu sudo yum install tmux # CentOS/RHEL

  2. 启动一个 tmux 会话:
     
    tmux new -s mysession

  3. tmux 会话中运行你的程序。
  4. 断开 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

你可能感兴趣的:(ssh,服务器,运维)