让 ssh 真正安静

Sim*_*een 19 ssh bash nagios

我写了一个 nagios 脚本的一半,我对 SSH 感到烦恼。

根据手册页:

-q       Quiet mode.  Causes all warning and diagnostic messages to be
         suppressed.
Run Code Online (Sandbox Code Playgroud)

然而,如果我启用了 quiet 标志然后传递了一个无效的端口,我仍然会收到一个错误:

$ ssh user@localhost -q -p test
Bad port 'test'
Run Code Online (Sandbox Code Playgroud)

这是一个问题,因为这将使该消息成为第一行,而这正是 Nagios 抓取的内容。!= 0从 ssh 获取退出代码后,我需要输出类似“警告|SSH 错误”的内容,但我可以输出的第一行将是第 2 行。

我怎样才能让 SSH 真正安静下来?

注意:我不确定是在 serverfault、超级用户还是 stackoverflow 上发布这个问题。我选择了 serverfault,因为用户群可能对 cli SSH 和 cli 脚本解决方法最有经验。

Sve*_*ven 28

ssh user@localhost -q -p test 2> /dev/null 
Run Code Online (Sandbox Code Playgroud)

将重定向stderr到 /dev/null。

  • 现在我觉得自己像个完整的山雀。会教我深夜编码! (2认同)