Warnung „offending key“ bei der Verbindung per SSH mit meinem VPS

Warnung „offending key“ bei der Verbindung per SSH mit meinem VPS

Wenn ich ausführe:

ssh root@myVPS

Ich bekomme die nächste Warnung:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

und wenn ich „ja“ eingebe, funktioniert es einwandfrei, aber ich weiß nicht, warum diese Warnung ausgegeben wird. Irgendwelche Vorschläge, warum sie ausgegeben wird und wie man sie vermeiden kann?

Antwort1

Höchstwahrscheinlich haben Sie Ihren VPS irgendwann neu installiert und den Hostnamen und/oder die IP-Adresse beibehalten. Bei der Neuinstallation wurde der Hostschlüssel des VPS neu generiert und da er sich von dem in Ihrem unterscheidet ~/.ssh/known_hosts, wird die Warnung angezeigt, damit Sie das Problem erkennen können. Dies geschieht, um zu verhindern, dass Sie eine Verbindung zu einem völlig anderen System herstellen, das den legitimen Host ersetzt, z. B. um Passwörter zu sammeln.

Wenn so etwas passiert, entfernen Sie einfach den fehlerhaften Schlüssel aus Ihrer known_hostsDatei und alles ist in Ordnung. Wenn Ihnen eine solche Neuinstallation jedoch nicht bekannt ist, müssen Sie weitere Untersuchungen durchführen, um zu verstehen, warum der Schlüssel unterschiedlich ist.

Antwort2

Ich hatte das gleiche Problem und es ist sehr einfach zu lösen. Öffnen Sie bitte Ihre known_hosts-Datei vi .ssh/known_hostsund suchen Sie nach Ihrem Servernamen. Wenn Sie feststellen, dass der Hostschlüssel ohne die IP-Adresse vorhanden ist, fügen Sie Ihre IP zu dieser Datei hinzu und das Problem wird gelöst. Vorher:

myVPS ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Nach dem Hinzufügen der IP:

myVPS,198.51.100.42 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Antwort3

Sie müssen sowohl den Hostnamen als auch die IP-Adresse aus Ihrer known_hosts-Datei löschen. Dies können Sie folgendermaßen tun:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]

Ersetzen Sie einfach somehostname.netdurch den Hostnamen oder Domänennamen des Hosts, den Sie löschen möchten, und ersetzen Sie die IP-Adresse durch die IP-Adresse des Hosts (lassen Sie die eckigen Klammern drin). Wenn es funktioniert hat, wird eine Meldung wie diese angezeigt:

/home/yourname/.ssh/known_hosts updated.
Original contents retained as /home/yourname/.ssh/known_hosts.old

Wenn das nicht funktioniert, versuchen Sie dasselbe, aber ohne die eckigen Klammern. Überprüfen Sie außerdem noch einmal, ob der Hostname und die IP-Adresse korrekt sind:

ssh-keygen -f ~/.ssh/known_hosts -R somehostname.net
ssh-keygen -f ~/.ssh/known_hosts -R 123.123.123.123

Wenn sich der SSH-Port des Hosts auf einem anderen Port befindet, beispielsweise 2222 statt 22, fügen Sie den Port einfach folgendermaßen hinzu:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]:2222
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]:2222

Antwort4

Wenn bei Ihnen ein Fehler wie dieser auftritt:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

Löschen Sie einfach Zeile 1 in Ihrer known_hosts-Datei. Wenn Sie dann das nächste Mal den Git-Befehl ausführen, wird der neue RSA-Host hinzugefügt.

verwandte Informationen