Forza ssh a non stampare l'avviso "L'identificazione dell'host remoto è cambiata"


23

C'è un modo per evitare di inviare messaggi di avviso di stampa ssh come questo?

"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",

Anche se l'identità dell'host remoto è cambiata, ma so che va bene e voglio solo sbarazzarmi di questo avviso.

Risposte:


16

Quattro modi:

Per connettersi una sola volta a un sistema con una nuova chiave host, senza dover rispondere alle domande, connettersi con la seguente opzione:

ssh -q -o "StrictHostKeyChecking no" this.one.host.name

Per rimuovere in modo permanente l'avviso per tutti i sistemi, modificare il ~/.ssh/configfile per aggiungere le seguenti righe:

Host *
StrictHostKeyChecking no

Per rimuovere definitivamente tutte le avvertenze per questo un assistente, modificare il vostro ~/.ssh/configfile di e aggiungere le seguenti righe:

Host this.one.hostname
StrictHostKeyChecking no  

Per rimuovere l'avviso per questa modifica per questo server, rimuovere la chiave host per quel server ~/.ssh/known_hosts. Alla successiva connessione, verrà aggiunta la nuova chiave host.


Nella seconda opzione quella configurazione deve essere fatta sul lato server a cui ci stiamo connettendo, giusto?
— coffeug

No, è tuo $HOME/.ssh/configche conta sia nella seconda che nella terza opzione.
— Jenny D,

Questo continua a stampare un avviso per me (anche se consente la connessione).
— Michael Mior,

24

Aggiungi questo al tuo ~ / .ssh / config:

Host 10.*                            # use your own pattern here, eg. *.example.com, example.*.com
  StrictHostKeyChecking   no         # turn off the HostKey check                                                               
  LogLevel                ERROR      # keep it from printing to STDOUT
  UserKnownHostsFile      /dev/null  # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish. 

3
MOD UP - solo uno che ha effettivamente risposto alla domanda - questa è stata l'unica risposta non solo al lavoro, ma SOPPRESSO LE AVVERTENZE.
— Brad

Spiacenti, sembra che gli utenti di fish shell non saranno in grado di utilizzare il bel completamento automatico ssh per host precedentemente connessi se mettono UserKnownHostFile su / dev / null. Gli utenti di pesce e forse tutti non dovrebbero impostarlo.
— Elijah Lynn il

È meglio creare uno ssh0script / alias / funzione ssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERRORe utilizzarlo espressamente invece di scaricare tali opzioni ~/.ssh/config. Potresti dimenticartene e poi chiederti perché i controlli non funzionavano quando volevi che funzionassero.
— Zio Billy,

20

Puoi togliere la linea per quell'host ~/.ssh/known_host(ogni host ha una linea come voce lì).

L'alternativa è usare:

ssh -q -o "StrictHostKeyChecking no" ....

Il solo utilizzo -qavrebbe sshfallito silenziosamente.


9

Talvolta è preferibile non aggiungere le chiavi host al valore predefinito $ HOME / .ssh / known_hosts.

Utilizzare -o UserKnownHostsFile=/dev/nullin aggiunta a -qe -o StrictHostKeyChecking=noper mantenere ordinati_host ordinati. Ecco un esempio:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q user@scripts.local

2

Un suggerimento alternativo è identificare il motivo per cui la chiave host sta cambiando e farla smettere di farlo.

Ad esempio: se si creano host in container o tramite un sistema di provisioning, assicurarsi che questi utilizzino costantemente la stessa chiave host nota per istanza.

Sono ben consapevole che questo non è sempre possibile e gli host possono essere gestiti al di fuori del tuo ambito di controllo, ma questi avvisi di chiave host sono lì per un motivo e sono significativi. Ridurre il conteggio delle eccezioni è una buona cosa.

Altrimenti, voto per StrictHostKeyChecking No nel tuo solo ~/.ssh/config per l'host specifico in questione.

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.