温馨提示×

CentOS SSH会话如何保持不断开

小樊
61
2025-06-04 00:41:15
栏目: 智能运维

要使 CentOS 上的 SSH 会话保持不断开,您可以尝试以下方法:

  1. 使用 screentmux 工具: 这些工具可以让您在后台运行多个终端会话,即使 SSH 连接断开,它们也会继续运行。要使用这些工具,请按照以下步骤操作:
  • 首先,确保已安装 screentmux。如果尚未安装,可以使用以下命令之一进行安装:

    sudo yum install screen
    

    sudo yum install tmux
    
  • 启动 screentmux 会话:

    screen
    

    tmux
    
  • 现在您可以在此会话中运行您的命令。要断开连接并保持会话运行,请按 Ctrl-A 然后按 D(对于 screen)或 Ctrl-B 然后按 D(对于 tmux)。

  • 要重新连接会话,请使用以下命令:

    screen -r
    

    tmux attach
    
  1. 使用 nohup 命令: nohup 命令可以让您的命令忽略挂起(SIGHUP)信号,从而在 SSH 断开连接后继续运行。要使用 nohup,请按照以下步骤操作:
  • 使用 nohup 运行命令,例如:

    nohup your_command &
    

    这将在后台运行 your_command,并将输出重定向到名为 nohup.out 的文件。

  • 要检查命令的输出,可以使用 tail 命令:

    tail -f nohup.out
    
  1. 调整 SSH 客户端和服务器的超时设置: 有时,SSH 会话可能会因为超时而断开。您可以尝试调整客户端和服务器的超时设置以防止这种情况发生。
  • 在客户端(例如 PuTTY)中,找到“Connection”或“SSH”设置,并增加“Seconds between keepalives”的值。

  • 在服务器端,编辑 /etc/ssh/sshd_config 文件,找到或添加以下行:

    ClientAliveInterval 60
    ClientAliveCountMax 3
    

    这将每 60 秒发送一次保活信号,如果连续 3 次未收到响应,则断开连接。您可以根据需要调整这些值。

  • 保存更改并重启 SSH 服务:

    sudo systemctl restart sshd
    

请注意,这些方法并不能保证 SSH 会话永远不会断开,但它们可以帮助您在大多数情况下保持会话不断开。

0