Ssh
讓 ssh 真正安靜
我正在編寫一個 nagios 腳本,但我遇到了 SSH 的煩惱。
根據手冊頁:
-q Quiet mode. Causes all warning and diagnostic messages to be suppressed.
但是,如果我啟用 quiet 標誌然後傳遞一個無效埠,我仍然會收到錯誤消息:
$ ssh user@localhost -q -p test Bad port 'test'
這是一個問題,因為這會使該消息成為第一行,而這正是 Nagios 所抓住的。從 ssh 獲取退出程式碼後,我需要輸出類似“警告|SSH 錯誤”的內容
!= 0
,但我可以輸出的第一行將是第 2 行。如何讓 SSH 真正安靜?
注意:我不確定是否在 serverfault、超級使用者或 stackoverflow 上發布這個問題。我選擇了 serverfault,因為使用者群可能對 cli SSH 和 cli 腳本變通辦法最有經驗。
ssh user@localhost -q -p test 2> /dev/null
將重定向
stderr
到 /dev/null。
或者,最簡單的方法儲存
LogLevel QUIET
在配置文件中:$ cat ~/.ssh/config Host * IdentityFile ~/.ssh/id_rsa StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel QUIET ...
最終得到與上面相同的結果,但輸入更少。
乾杯