2010-03-29 09:43:00 +0000 2010-03-29 09:43:00 +0000
181
181

Come posso evitare la verifica dell'host di SSH per gli host conosciuti?

Ottengo il seguente prompt ogni volta che provo a connettermi a un server usando SSH. Digito “sì”, ma c'è un modo per evitare questo?

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?

Risposte (8)

254
254
254
2010-03-29 10:53:30 +0000

Usa l'opzione -o,

ssh -o "StrictHostKeyChecking no" user@host
108
108
108
2013-08-06 21:56:17 +0000

Aggiungere le seguenti linee all'inizio di /etc/ssh/ssh_config

Host 192.168.0.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Opzioni:

  • La sottorete Host può essere * per permettere l'accesso illimitato a tutti gli IP.
  • Modifica /etc/ssh/ssh_config per la configurazione globale o ~/.ssh/config per la configurazione specifica dell'utente.

Vedi http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html

28
28
28
2010-03-29 09:47:30 +0000

Dovresti riceverlo solo la prima volta che ti connetti a un nuovo host. Dopo che hai risposto yes l'host viene memorizzato in ~/.ssh/known_hosts e non ti verrà richiesto la prossima volta che ti connetti.

Nota che se ~/.ssh/known_hosts non può essere scritto per qualsiasi ragione (per esempio un problema di permessi) allora ti verrà richiesto ogni volta che ti connetti.

11
11
11
2010-06-08 22:29:47 +0000

Il modo migliore (perché non sacrifica la sicurezza) è quello di connettersi una volta a tutti i computer da un client (ti verrà richiesto ogni volta, rispondi sempre sì). Come indicato nell'altra risposta, le chiavi saranno poi memorizzate in ~/.ssh/known\hosts. Quindi copiate questo file su ogni computer client da cui potreste in seguito volervi connettere (possibilmente per ogni account utente che usate). Allora tutti questi account “conosceranno” i computer, quindi nessun prompt.

Il vantaggio rispetto alla semplice disabilitazione del prompt è che SSH può effettivamente controllare se c'è un attacco MITM.

1
1
1
2015-07-11 23:20:24 +0000

Se volete disabilitare la conferma, piuttosto che l'autenticazione, potete usare l'opzione “-o CheckHostIP=no”

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8
0
0
0
2015-12-12 18:09:32 +0000

Questo è probabilmente perché il tuo server di chiavi ssh è cambiato, dato che l'ip del server o il dominio è lo stesso ma la chiave ssh non corrisponde.

Devi rimuovere la chiave memorizzata in /home/$user/.ssh/known_hosts per evitare questo messaggio.

Ho risolto rimuovendo tutte le chiavi in quel file, quindi viene creato un nuovo token per questo nome di dominio.

0
0
0
2020-01-27 07:10:41 +0000

Avevo affrontato un problema simile in cui, nonostante l'utilizzo della soluzione verificata di cui sopra, il mio ssh non funzionava ed era perché il file known\hosts mancava dalla directory ~/.ssh/ e il File System era di sola lettura. Quindi durante l'esecuzione anche io non ero in grado di creare il file ~/.ssh/ known_hosts.

Se affronti un problema simile allora vedi se puoi scrivere il file known\hosts nella posizione /tmp. Questo è per lo più abilitato alla scrittura anche in un file system di sola lettura.

Successivamente nel comando ssh potete specificare che ssh legga il file known_hosts dalla posizione /tmp.

ssh -o UserKnownHostsFile=/tmp/known_hosts -o StrictHostKeyChecking=no user_name@destination_server_ip
-2
-2
-2
2018-11-09 12:14:07 +0000

Controlla i permessi sul tuo file ~/.ssh/known_hosts. I miei erano errati quando ho avuto questo problema. L'ho risolto con:

chmod 0600 ~/.ssh/known_hosts