在CentOS上保持SSH会话活跃,可以通过以下几种方法:
1. 使用screen
或tmux
screen
和tmux
是终端复用工具,可以在单个终端窗口中创建多个会话,并且可以在断开连接后重新连接。
安装screen
sudo yum install screen -y
使用screen
- 启动一个新的
screen
会话:screen -S mysession
- 在
screen
会话中执行你的命令。 - 按
Ctrl+A
然后按D
来分离会话。 - 重新连接到会话:
screen -r mysession
安装tmux
sudo yum install tmux -y
使用tmux
- 启动一个新的
tmux
会话:tmux new -s mysession
- 在
tmux
会话中执行你的命令。 - 按
Ctrl+B
然后按D
来分离会话。 - 重新连接到会话:
tmux attach -t mysession
2. 使用nohup
nohup
命令可以让进程忽略挂起信号,即使SSH会话断开,进程也会继续运行。
nohup your_command &
3. 使用autossh
autossh
是一个自动重连SSH会话的工具,可以在连接断开后自动重新连接。
安装autossh
sudo yum install autossh -y
使用autossh
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" user@hostname
4. 配置SSH客户端
你可以在SSH客户端配置文件(通常是~/.ssh/config
)中设置一些选项来保持会话活跃。
Host your_hostname HostName your_hostname User your_username ServerAliveInterval 60 ServerAliveCountMax 3
5. 使用tmux
或screen
的自动重连功能
你可以在tmux
或screen
配置文件中设置自动重连功能。
tmux
配置
在~/.tmux.conf
中添加:
set -g automatic-reconnect on set -g reattach-on-exit on
screen
配置
在~/.screenrc
中添加:
autodetach on
通过这些方法,你可以在CentOS上保持SSH会话活跃,确保在断开连接后仍然可以继续执行命令或重新连接。