sshを本当に静かにする


15

nagiosスクリプトを書く途中で、SSHに悩まされています。

manページによると:

-q       Quiet mode.  Causes all warning and diagnostic messages to be
         suppressed.

それでも、quietフラグを有効にしてから無効なポートを渡すと、エラーが発生します。

$ ssh user@localhost -q -p test
Bad port 'test'

これは問題です。というのも、それによってそのメッセージが最初の行になり、Nagiosがそれをつかむからです。!= 0sshから終了コードを取得した後、「警告| SSHエラー」のようなものを出力する必要がありますが、出力できる最初の行は2行目です。

SSH TRULYを静かにするにはどうすればよいですか?

注:この質問をserverfault、スーパーユーザー、またはstackoverflowに投稿するかどうかはわかりませんでした。ユーザーベースはおそらくcli SSHとcliスクリプトの回避策に最も慣れているため、私はserverfaultを使用しました。


2
本当に役立つというわけではありませんが、これを反映するようにマニュアルが更新されているようです。OpenSSH 5.8(およびそれ以前)では、「すべての警告と診断」ではなく、「ほとんどの警告と診断」が抑制されると記載されています。
ジェームズ・スニーリンガー

うるさい!しかし、良いスポット。
SimonJGreen

無効なポートに接続しようとするのを避けないのはなぜですか?
ゾレダチェ

1
@Zoredacheこれはエラーのキャッチ/処理です。タイプミスを回避しても、それを
上手

回答:


25
ssh user@localhost -q -p test 2> /dev/null 

stderr/ dev / nullにリダイレクトします。


2
今、私は完全なシジュウカラのように感じます。夜遅くにコーディングすることを教えてくれます!
SimonJGreen

-2

または、構成LogLevel QUIETファイルに保存する最も簡単なメソッド:

$ cat ~/.ssh/config 
Host *
  IdentityFile ~/.ssh/id_rsa
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  LogLevel QUIET
  ...

タイピングが少なくなると、上記と同じ結果になります。

乾杯


1
ここで尋ねられた問題を解決できないため、私は答えをダウンボットしました:%ssh -p test -oLogLevel = QUIET localhost Bad port '
test'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.