每次断开连接时,xterms 中的 ssh 会话都会冻结几分钟

每次断开连接时,xterms 中的 ssh 会话都会冻结几分钟

如果我通过 ssh 连接到远程计算机,然后失去互联网连接,会话就会冻结。我无法使用 control-c 或以其他方式中止并返回到本地 xterm 或终端提示符,但如果我等待几分钟,它就会这样做。当连接丢失时,一定有某种方法可以强制它中止远程 ssh 会话。我在 Mac 上,但我相信这种情况也会发生在 cygwin 或 linux 上。

答案1

波浪号应该可以满足您的要求(~.)。它必须是按回车键后输入的第一项,因此请按回车键,然后输入它。以下是 ssh 的手动输入:

 -e escape_char
         Sets the escape character for sessions with a pty (default: ‘~’).
         The escape character is only recognized at the beginning of a
         line.  The escape character followed by a dot (‘.’) closes the
         connection; followed by control-Z suspends the connection; and
         followed by itself sends the escape character once.  Setting the
         character to “none” disables any escapes and makes the session
         fully transparent.

ctrl-d 也许也有效。

编辑:SSH 内置了许多转义字符命令。打开活动的 SSH 会话后,您可以按 [enter]~? 查看选项列表。这些都在 ssh 的 man 条目中。如果您还不了解 man 条目……您将发现一个令人惊奇的世界!在 Linux 终端中输入“man command”,在本例中输入“man ssh”,不带引号。它包含大量信息。按“q”退出。如果您更喜欢信息界面,也可以输入“info ssh”。

答案2

某些东西使连接保持打开状态,可能是某种转发。您可以尝试使用Ctrl\强制 ssh 停止,但一般来说,您应该尝试找出是什么使它保持打开状态。

相关内容