Rendere ssh davvero silenzioso


15

Sono a metà della stesura di una sceneggiatura di nagios e ho infastidito SSH.

Secondo la pagina man:

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

Tuttavia, se abilito il flag quiet e poi passo una porta non valida, ottengo ancora un errore:

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

Questo è un problema, perché renderà quel messaggio la prima riga e questo è ciò che viene afferrato da Nagios. Ho bisogno di emettere qualcosa come "Avviso | Errore SSH" dopo aver raccolto un != 0codice di uscita da ssh, ma la prima riga su cui posso emettere sarà la linea 2.

Come posso rendere SSH VERAMENTE silenzioso?

Nota: non ero sicuro di pubblicare questa domanda su serverfault, su superuser o su stackoverflow. Sono andato con serverfault poiché la base di utenti è probabilmente la più esperta con soluzioni alternative SSH e cli scripting.


2
Non che sia di grande aiuto, ma sembra che il manuale sia stato aggiornato per riflettere questo. A partire da OpenSSH 5.8 (e forse prima), si afferma che "la maggior parte degli avvisi e della diagnostica" verrà eliminata, anziché " tutti gli avvisi e la diagnostica".
James Sneeringer,

eh fastidioso! buon posto però.
SimonJGreen

Perché non evitare di provare a connettersi a una porta non valida?
Zoredache,

1
@Zoredache Questo è un errore di acquisizione / gestione. Evitare un refuso non risolve il problema di come gestirne uno con grazia;)
SimonJGreen

Risposte:


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

reindirizzerà stderra / dev / null.


2
Ora mi sento come un completo. Mi insegnerà a programmare a tarda notte!
SimonJGreen

-2

Oppure, l'archivio metodi più semplice LogLevel QUIET nel file di configurazione:

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

Finisce per ottenere lo stesso risultato di cui sopra con molta meno digitazione.

Saluti


1
Ho retrocesso la risposta perché non risolve il problema che è stato chiesto qui:% ssh -p test -oLogLevel = QUIET localhost 'test' porta non
valida
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.