如何退出无响应的 SSH 连接
经常出现ssh连接由于网络问题,“卡住”了。不能进行任何操作,也不能退出。 ssh文档里面也有写通过~.
来断开ssh连接:
$ man ssh
…
ESCAPE CHARACTERS
…
The supported escapes (assuming the default \`~') are:
~. Disconnect.
~? Display a list of escape characters.
但是,实际使用过程中发现,按了没有反应。 后来看了其他人的做法,发现两个技巧:
- ssh转义字符,只有在新行生效。所以最保险的按键方式是:回车 -> Shift+
`
->.
。 - 由于输入两个
~
会导致ssh直接发送~
。比如我们按~``~``~``.
会关闭第二层ssh,而不是当前失去响应的ssh会话。
所以为了保险起见,我的操作是这样子的: 按 回车``~``?
,直到出现ssh的转义字符帮助(没有出现就继续按回车``~``?
) 然后按 ~``.
。 退出ssh
按~``~``~``.
会关闭第二层ssh,对吗?
-
~``~
是给第一层ssh会话发送~
字符 -
~``~``~
是给第二层ssh会话发送~
字符 -
~``~``~``.
是给第二层ssh会话发送~``.
字符,即关闭第二层ssh会话
参考资料:
如何退出无响应的 SSH 连接
https://robberphex.com/how-to-exit-unresponsive-ssh-session/