ssh 无声无息地失败

Mar*_*ter 2 ssh

我注意到当我通过ssh以下方式执行命令时:

ssh myserver.mydomain.com "w"
Run Code Online (Sandbox Code Playgroud)

并且命令失败,ssh不打印任何错误。可以说,我拼错了我的服务器的主机名并且myserver.mydomain.com不存在。我会期望,ssh报告一些关于unable to connect to server. 但事实并非如此。相反,ssh只是不打印任何内容。现在,我知道我可以使用$?. 但这还不够。我在脚本中使用它,如果ssh更具体,我将不胜感激。其中man ssh有 option -v,但它用于调试并打印太多信息。

有什么办法可以让sshprint成为不成功的原因吗?

Jen*_*y D 6

SSH 通常会打印出错误消息。

有两种方法可以禁用它:

  • 在您的.ssh/config,一行包含

    Loglevel QUIET

    将禁用所有消息。

  • 使用 option-q或别名sshto ssh -q,会做同样的事情。

因此,请确保未使用任何这些机制。