Problema di connessione SSH con errore "Verifica chiave host non riuscita ..."

135

Posso collegarmi a un'altra macchina Ubuntu nella mia LAN tramite SSH. In entrambi i PC ho installato openssh-server ma da un altro computer Ubuntu non riesco a connettermi al mio PC tramite SSH e ho ricevuto questo errore:

  

Verifica chiave host fallita ...

    
posta Navid 28.05.2011 - 13:36

13 risposte

158

"Verifica chiave host non riuscita" significa che la chiave host dell'host remoto è stata modificata.

SSH memorizza le chiavi host degli host remoti in ~/.ssh/known_hosts . Puoi modificare manualmente quel file di testo e rimuovere la vecchia chiave (puoi vedere il numero di riga nel messaggio di errore), oppure usare

ssh-keygen -R hostname

(che ho imparato dalla risposta a E 'possibile rimuovere una particolare chiave host dal file known_hosts di SSH? ).

    
risposta data elmicha 28.05.2011 - 15:19
103

Se esegui determinate situazioni remote / di script in cui ti manca l'accesso interattivo al prompt-add-hostkey, aggiralo in questo modo:

$ ssh -o StrictHostKeyChecking=no [email protected] uptime

Avviso: aggiunto permanentemente "something.example.com, 10.11.12.13" (RSA) all'elenco di host conosciuti.

    
risposta data MarkHu 24.07.2013 - 02:47
10

Anche a volte c'è una situazione in cui si sta lavorando sulla console seriale, quindi controllando il comando precedente in modalità dettagliata -v mostrerà che /dev/tty non esiste, mentre lo fa.

ssh -v [email protected]

Nel caso precedente rimuovi solo /dev/tty e crea un link simbolico di /dev/ttyS0 a /dev/tty .

rm /dev/tty
ln -s /dev/ttyS0 /dev/tty

In alternativa, aggiungi id_rsa.pub alla posizione remota, quindi la password non viene richiesta e ottieni l'accesso per l'accesso.

    
risposta data Peeyush 27.05.2012 - 15:01
8

Nel mio caso, questo è stato causato da un problema udev - non c'era nessun nodo dispositivo /dev/tty . La soluzione per me era solo:

sudo mknod -m 666 /dev/tty c 5 0
    
risposta data Mark 25.07.2011 - 22:28
3

Bene, semplicemente perché la seconda ubuntu richiede la connessione tramite chiave e non la password.

Ti suggerisco di usare sudo dpkg-reconfigure openssh-server sul tuo pc, e quindi dovrebbe funzionare correttamente. Ripristina la configurazione per openssh e dovrebbe tornare a un'autenticazione password predefinita.

La seconda possibilità è che ci sia già una chiave per l'altra ubuntu nel tuo PC, e che sia cambiata in modo da non essere più riconosciuta. In questo caso, dovrai modificare il file .ssh/authorized_keys per rimuovere la riga problematica che identifica il tuo ubuntu.

    
risposta data MP0 28.05.2011 - 13:39
3

Questo è un thread vecchio e ho appena trovato questa risposta, aggiungerò solo ciò che ho fatto per risolvere questo problema.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

Ho appena visto il messaggio di errore che mi ha lanciato e ha detto di eseguire quel comando per rimuoverlo dalla lista degli host. Successivamente ho fatto quanto segue:

ssh-copy-id HOSTNAME

Di quanto ho seguito le istruzioni da lì fino a quando non sono stato in grado di ssh nel server.

    
risposta data Hatem Jaber 15.04.2015 - 18:09
3

Terminale:

ssh -o StrictHostKeyChecking=No -i YourPublicKey.pem [email protected] uptime

Apparirà il seguente messaggio, o simile,

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts.
 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

Quindi, connettiti all'EC2 come normale:

ssh -i YourPublickey.pem [email protected]
    
risposta data Vitor Abella 27.03.2017 - 02:50
2

Significa che la chiave dell'host remoto è stata modificata (potrebbe essere la modifica della password dell'host),

Il tuo terminale ha suggerito di eseguire questo comando come utente root

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]:4231

Devi rimuovere quel nome host dalla lista degli host sul tuo pc / server. Copia il comando suggerito ed eseguilo come utente root.

$ sudo su                                                            // Login as a root user

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]:4231   // Terminal suggested command execute here
Host [www.website.net]:4231 found: line 16 type ECDSA
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old

$ exit                                                               // Exist from root user

$ sudo ssh [email protected] -p 4231                              // Try again

Spero che funzioni.

    
risposta data Jay Patel 14.08.2016 - 06:59
1

Dovresti cambiare la tua chiave in questo modo: Dal tuo errore specificato trova per quale chiave host è cambiato esempio: tasto ECDSA offendente in /Users/user-name/.ssh/known_hosts:5 ha detto che la quinta chiave è cambiata, quindi fai questo:

sed -i '5d' ~/.ssh/known_hosts

Avviso: devi essere root o avere il privilegio per sudo.

    
risposta data Amir.A.G 13.03.2016 - 16:22
1

devi inserire la chiave rsa dell'host di destinazione nell'host di origine /home/user/.ssh/known_hosts eseguendo questo sulla destinazione

ssh-keyscan -t rsa @targethost
    
risposta data rob brennan 06.04.2017 - 17:42
0

pico ~/.ssh/known_hosts ed elimina tutte le linee, dopo aver riconnesso e avrai una nuova chiave.

    
risposta data H0nsu 18.10.2012 - 08:26
0

La mia soluzione proviene da questo post del blog: Negoziazione algoritmo non riuscita per il client SSH Secure Shell

Devi modificare il file come segue:

sudo nano /etc/ssh/sshd_config

E quindi aggiungi quanto segue:

# Ciphers
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,arcfour
KexAlgorithms diffie-hellman-group1-sha1

Fondamentalmente hai provato diverse soluzioni finché non ne trovi una che può risolvere il tuo problema. Se le soluzioni di cui sopra non funzionano, prova questo. Se anche questo non funziona, prova altri.

    
risposta data Frank Puk 06.04.2017 - 19:01
0

Disattiva semplicemente il controllo della chiave host rigorosa in ~ / .ssh / config:

Host *
StrictHostKeyChecking no
    
risposta data Timo 26.04.2018 - 17:27

Leggi altre domande sui tag