如何退出无响应的 SSH 连接

经常出现ssh连接由于网络问题,“卡住”了。不能进行任何操作,也不能退出。 ssh文档里面也有写通过~.来断开ssh连接:

$ man ssh

ESCAPE CHARACTERS

 The supported escapes (assuming the default \`~') are:

 ~.      Disconnect.

 ~?      Display a list of escape characters.

但是,实际使用过程中发现,按了没有反应。 后来看了其他人的做法,发现两个技巧:

  1. ssh转义字符,只有在新行生效。所以最保险的按键方式是:回车 -> Shift+` -> .
  2. 由于输入两个~会导致ssh直接发送~。比如我们按~``~``~``. 会关闭第二层ssh,而不是当前失去响应的ssh会话。

所以为了保险起见,我的操作是这样子的: 回车``~``?,直到出现ssh的转义字符帮助(没有出现就继续按回车``~``? 然后按 ~``. 退出ssh


~``~``~``. 会关闭第二层ssh,对吗?

  1. ~``~是给第一层ssh会话发送~字符
  2. ~``~``~是给第二层ssh会话发送~字符
  3. ~``~``~``.是给第二层ssh会话发送~``.字符,即关闭第二层ssh会话

参考资料:

作者

Robert Lu

发布于

2017-10-29

许可协议

评论