要使 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 會話永遠不會斷開,但它們可以幫助您在大多數情況下保持會話不斷開。