SSH 客户端因命令错误而关闭

SSH 客户端因命令错误而关闭

我正在使用 Debian 或 Windows 以及 Putty 通过 SSH 连接到远程 Debian 计算机。远程计算机 (Debian) 的行为与我目前所知的其他 SSH 服务器不同。

每当我在 SSH 控制台中运行失败的命令时,连接就会关闭并且 SSH 客户端会退出。

一个例子:

  1. 我登录到远程机器。
  2. 我执行 cd /not-existing-directory。
  3. SSH 客户端报告服务器已关闭连接。

造成这种行为的原因可能是什么?我可以采取什么措施?

答案1

如果您的远程 shell 是 bash(或类似 Bourne),您可能会errexit打开该选项。如果“简单”命令(例如cd)返回错误,该选项指示 shell 立即退出。

登录后,通过运行以下命令进行确认:

echo "$-" | grep e

如果打开该选项,您将看到一行包含e.如果没有,则不会返回任何文本。

或者,运行:

set -o|grep errexit

如果该选项打开,您将看到:

errexit         on

如果没有,您会看到:

errexit         off

要关闭该选项,请运行:

set +o errexit

或者

set +e

有关 的更多信息errexit,请参阅Shell 命令语言 - 设置

相关内容