在Linux中,使用SSH时可以通过退出字符(Escape Character)来管理会话,例如切换会话、挂起会话或查看连接状态。默认的SSH退出字符是~
(波浪号),但必须在新行开头输入才会生效。
以下是常见的SSH会话控制命令(均需先按Enter
,然后输入~
+ 命令键):
命令 | 功能说明 |
---|---|
~. |
立即终止当前SSH连接(如果会话卡死或无响应时使用)。 |
~Ctrl+Z 或 ~& |
挂起当前SSH会话(返回本地Shell,会话在后台运行)。 |
~# |
列出所有挂起的SSH会话(需先启用~& 挂起功能)。 |
~B |
发送SSH BREAK信号(用于某些需要中断的远程程序)。 |
~R |
请求重新密钥交换(用于调试或安全场景)。 |
~? |
显示所有支持的SSH退出符帮助。 |
必须在新行开头输入
Enter
,然后单独输入~
(波浪号),再输入命令键(如.
或&
)。vim
或top
),需先退出程序再尝试。修改默认退出字符
如果~
与其他工具冲突(如tmux
),可通过-e
参数修改退出字符:
ssh -e '@' user@host # 将退出符改为`@`
恢复挂起的会话
bg
或fg
命令管理挂起的会话(需本地Shell支持作业控制)。ssh
命令重新连接(如果会话未超时)。# 1. 连接后挂起会话
[Enter]~Ctrl+Z
# 输出:[1]+ Stopped ssh user@host
# 2. 查看后台会话
jobs
# 输出:[1]+ Stopped ssh user@host
# 3. 恢复会话
fg %1
# 直接终止当前连接(无确认)
[Enter]~.
# 输出:Connection to host closed.
如果频繁需要会话管理,建议使用tmux
或screen
替代SSH退出符:
# 使用tmux创建持久会话
tmux new -s mysession
# 断开后重新连接
tmux attach -t mysession
这种方式更稳定,且支持多窗口、断线重连等高级功能。
通过合理使用SSH退出符或终端多路复用工具,可以高效管理远程会话。遇到问题时,先检查输入位置是否正确,或尝试~?
查看帮助。