Назад | Перейти на главную страницу

Делаем ssh по-настоящему тихим

Я наполовину написал сценарий nagios и меня раздражает SSH.

Согласно странице руководства:

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

Тем не менее, если я включу флаг молчания, а затем передаю неверный порт, я все равно получаю сообщение об ошибке:

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

Это проблема, потому что это сделает это сообщение первой строкой, и это то, что перехватывает Nagios. Мне нужно вывести что-то вроде «Предупреждение | Ошибка SSH» после получения != 0 код выхода из ssh, но первая строка, которую я могу вывести, будет строкой 2.

Как я могу сделать SSH ИСТИННО тихим?

Примечание: я не был уверен, стоит ли размещать этот вопрос на сервере, суперпользователе или 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
  ...

В итоге получается тот же результат, что и выше, с меньшим набором текста.

Ура