如何在 Linux 上退出无响应的 SSH 会话

当 Linux 上的 SSH 连接无响应且按键不起作用时,应采取以下措施。

你可能正在远程SSH会话中输入命令,然后突然什么都不发生了。系统似乎不响应你的按键。你该怎么办呢?

为什么SSH会话会冻结呢?

SSH会话冻结的主要原因是网络连接中断。Wi-Fi信号可能中断,或者你的计算机可能进入睡眠状态。这在使用笔记本电脑时最常见。你可能在忘记你仍然通过SSH登录时关闭笔记本电脑盖子。

SSH最初是在人们普遍使用笔记本电脑之前设计的。SSH在有线网络上的效果更好。

1、使用转义序列终止

如果你的SSH会话冻结,尝试使用一个转义序列。转义序列允许你向SSH客户端发送信号,而不是远程机器。转义序列以转义字符开头。在OpenSSH客户端上,默认情况下是波浪(~)字符。

要退出SSH客户端,你可以按下波浪键,然后是句点(.)键。

如果你希望的话,你也可以更改转义字符。你可以在命令行中使用-e选项指定一个新的转义字符。你还可以通过在本地计算机的家目录的.ssh/config文件中设置EscapeChar选项来永久更改它。

2、使用kill命令

如果使用转义序列不起作用,你可以尝试终止SSH客户端。要查找会话的进程ID(PID),可以通过grep来将ps命令进行管道处理:

ps aux | grep ssh

ps的”aux”参数表示”列出系统上的每个进程,无论它属于谁,或者是否有控制终端。”

如果你有多个会话,你可以通过列出的用户名和SSH会话所登录到的远程机器的地址来找到冻结的会话。一旦找到了会话的PID,你可以使用kill命令终止它:

kill [PID]

对于更好的SSH连接,请使用Mosh!

避免恼人的SSH会话冻结的更好方法是使用Mosh。如果连接中断,Mosh将让你保持连接。当你重新连接时,它将发送任何消息。它还在你的计算机进入睡眠状态时工作。

你还可以使用像GNU Screen或tmux这样的终端复用程序,在任何断开连接后恢复你的SSH会话,但是Mosh和tmux一起使用时更加强大。

要在Debian和Ubuntu上安装Mosh:

sudo apt install mosh

在Arch Linux上:

sudo pacman -S mosh

在红帽系列的发行版上:

sudo dnf install mosh

现在,你可以摆脱卡住的SSH会话了

无响应的SSH会话可能令人沮丧,但你可以使用转义序列或kill命令来终止它们。Mosh是一个更好的替代方法,它将在连接中断和系统休眠时保持你的连接活动。

相关:超级强大!Linux 下 6 个终极 SSH 客户端 https://www.linuxmi.com/linux-6-ssh.html

The post 如何在 Linux 上退出无响应的 SSH 会话 first appeared on Linux迷.

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/81041.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>