教程

如何退出 SSH 会话(包括卡死时)

输 exit、logout 或按 Ctrl-D 关闭 SSH 会话。会话卡死/挂住时,转义符 ~. 从客户端侧终止它。以及怎么断开而不杀掉正在跑的任务。

CC Chen Chen· 创始人·2026 年 6 月 14 日·阅读 4 分钟

如何退出 SSH 会话

exit 回车——关闭 SSH 会话、回到本地 shell。logout 一样,在空行按 Ctrl‑D 也一样。这是正常方式。本文剩下的部分讲会话卡死、普通 exit 没反应的情况——那有个隐藏的转义符。

正常的几种方式

你做什么结果
exit + 回车干净关闭会话
logout + 回车一样——关闭登录 shell
Ctrl‑D(空行)发送输入结束,关闭 shell

三者都结束远程 shell、把你送回本地终端。如果你开了多层嵌套 shell(如 sudo su、再 SSH 跳一跳),每个 exit 退一层——可能要敲几次。

会话卡死时

有时连接卡住——网络断了、服务器无响应——输 exit 没用,因为你的按键到不了服务器。SSH 为此内置了一个转义符。在新的一行行首,输入:

~.

就是一个波浪号加一个句点(~.),在行首输入。它告诉你本地的 SSH 客户端立即终止连接,不需要卡死的服务器配合。这是从卡死会话里脱身的可靠办法。

波浪号是 SSH 的转义字符;还有几个序列(~? 列出全部,~Ctrl-Z 把会话挂后台),但要记的就是 ~.

不想丢掉工作?

退出会关闭 shell 杀掉里面跑着的东西。如果你有长任务在跑、只想断开而不停它,别退出——分离。把任务跑在 tmuxscreen 里,你就能离开会话而工作继续;稍后重新挂上。见 断开后让进程继续运行

在手机上

在移动 SSH 客户端里,exit 和 Ctrl‑D 一样管用——难点是找到键。触屏键盘藏了 Ctrl,所以好的客户端会把 Esc/Tab/Ctrl 放在键盘上方的快捷栏(Ctrl 再 D = Ctrl‑D)。会话卡死时,在新行输 ~.,或者直接在 App 里关掉那个会话标签。TermAI 把修饰键放在一点即达处,关闭/切换会话也不用跟键盘较劲。见 手机上的 SSH 键盘快捷键

手机 SSH 会话,快捷栏显示 Esc、Tab、Ctrl
在手机上,退出需要的键——Ctrl(配 D)、或转义符——就在触屏键盘上方的快捷栏。

常见问题

怎么退出 SSH 会话?
exit(或 logout)回车,或在空行按 Ctrl‑D。任一都关闭远程 shell、回到本地终端。

会话卡死/挂住了怎么退?
在新行输 ~.(波浪号加句点)。它让本地 SSH 客户端断开连接,不必等无响应的服务器。

exit 和 logout 有什么区别?
对 SSH 登录 shell 两者一样。logout 只在登录 shell 里有效;exit 在任何 shell 里都行。

怎么断开但不停掉正在跑的命令?
别退出——把命令跑在 tmux 或 screen 里再分离,断开后它继续跑。

快速事实

  • 正常退出:exitlogout、或空行 Ctrl‑D
  • 卡死会话:在新行行首输 ~.(SSH 转义符)
  • 嵌套 shell:每个 exit 退一层
  • 保住工作:从 tmux/screen 分离,而不是退出
  • 移动端:Ctrl 在快捷栏;或关闭会话标签
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog