当我的 SSH 会话超时时,整个终端就会冻结。
有什么办法可以打破这种联系吗?CTRL+C并没有削减它。
答案1
您需要发送 ssh 转义序列,默认情况下该~序列位于行的开头(换句话说,前面有换行符或 Enter)。然后发送断开连接字符,即.。
例如:
host1> ssh host2
Last login: Tue Jun 4 21:56:26 2013 from host1
host2>
(主机2冻结,按enter~.)
host2> Connection to host2 closed.
host1>
请参阅ssh(1)
手册:
-e escape_char
设置带有 pty 的会话的转义字符(默认值:'~')。转义字符仅在行的开头被识别。转义字符后跟一个点('.')会关闭连接;随后按control-Z 暂停连接;然后它本身发送一次转义字符。将字符设置为“none”会禁用任何转义并使会话完全透明。
答案2
您可以终止 ssh 进程 - 即从另一个终端使用kill
或killall
。
……但巴哈马特的方式是更好、更干净的方式。