云计算百科
云计算领域专业知识百科平台

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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » VS Code 通过 SSH 连接服务器, SSH 会话断开导致服务器运行的程序中断
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!