要使 CentOS 上的 SSH 会话保持不断开,您可以尝试以下方法:
screen
或 tmux
工具:
这些工具可以让您在后台运行多个终端会话,即使 SSH 连接断开,它们也会继续运行。要使用这些工具,请按照以下步骤操作:首先,确保已安装 screen
或 tmux
。如果尚未安装,可以使用以下命令之一进行安装:
sudo yum install screen
或
sudo yum install tmux
启动 screen
或 tmux
会话:
screen
或
tmux
现在您可以在此会话中运行您的命令。要断开连接并保持会话运行,请按 Ctrl-A
然后按 D
(对于 screen
)或 Ctrl-B
然后按 D
(对于 tmux
)。
要重新连接会话,请使用以下命令:
screen -r
或
tmux attach
nohup
命令:
nohup
命令可以让您的命令忽略挂起(SIGHUP)信号,从而在 SSH 断开连接后继续运行。要使用 nohup
,请按照以下步骤操作:使用 nohup
运行命令,例如:
nohup your_command &
这将在后台运行 your_command
,并将输出重定向到名为 nohup.out
的文件。
要检查命令的输出,可以使用 tail
命令:
tail -f nohup.out
在客户端(例如 PuTTY)中,找到“Connection”或“SSH”设置,并增加“Seconds between keepalives”的值。
在服务器端,编辑 /etc/ssh/sshd_config
文件,找到或添加以下行:
ClientAliveInterval 60
ClientAliveCountMax 3
这将每 60 秒发送一次保活信号,如果连续 3 次未收到响应,则断开连接。您可以根据需要调整这些值。
保存更改并重启 SSH 服务:
sudo systemctl restart sshd
请注意,这些方法并不能保证 SSH 会话永远不会断开,但它们可以帮助您在大多数情况下保持会话不断开。