Ich habe /etc/ssh/sshd_config
mit Puppet eine neue Version auf einem Ubuntu 12.04-Testserver eingeführt. Die Konfiguration war genau die gleiche wie die vorherige Konfiguration, außer dass die folgende Zeile entfernt wurde:
HostKey /etc/ssh/ssh_host_ecdsa_key
Ich habe festgestellt, dass beim Versuch, eine Verbindung zur Box herzustellen , viele ähnliche, aber unterschiedliche Fehler aufgetreten sind, z. B .: "Der RSA- Hostschlüssel für % hostname% hat sich geändert, und der Schlüssel für die entsprechende IP-Adresse % ipaddress% ist unverändert. ""
Ich nahm an, dass dies daran lag, dass mein Computer zuvor standardmäßig den ECDSA-Schlüssel verwendete und dieser jetzt nicht verfügbar war. Also habe ich diese Zeile wieder zu sshd_config
SSH hinzugefügt und SSH neu gestartet.
Das Problem wurde dadurch nicht vollständig gelöst, und seitdem habe ich ständig Probleme. Ich kann mich mehrmals problemlos mit dem Server verbinden, vielleicht sogar mehrere Tage hintereinander. Dann erhalte ich plötzlich Fehler, dass sich der Hostschlüssel geändert hat und der Server meinen öffentlichen Schlüssel nicht mehr zur Authentifizierung akzeptiert.
Es scheint immer so, dass ich, sobald ich eine Weile damit herumgespielt und von einem anderen Ort aus eine Verbindung hergestellt habe, plötzlich wieder eine Verbindung mit meinem öffentlichen Schlüssel herstellen kann und nicht mehr den Fehler über einen möglichen Mann in der Mitte erhalte Attacke.
Ich habe vor einigen Tagen versucht, alle 3 Hostschlüssel neu zu generieren (habe sie entfernt und ausgeführt, dpkg-reconfigure openssh-server
wodurch sie neu generiert wurden). Wie erwartet musste ich die alten Schlüssel entfernen und die neuen akzeptieren, bevor ich eine Verbindung herstellen konnte. Ich dachte, vielleicht wurde es damals behoben, aber das Problem ist jetzt zurück.
/etc/ssh/
Seit ich sie zuletzt neu generiert habe, hat sich an keinem der Hostschlüssel etwas geändert. Was kann also dazu führen, dass ich häufig keine Verbindung herstellen kann, mein öffentlicher Schlüssel nicht funktioniert, dann den neuen Schlüssel akzeptiert und die Dinge wieder einwandfrei funktionieren für eine Weile?
Wenn die Dinge nicht funktionieren (wenn der Fehler beim Ändern des Hostschlüssels auftritt und der Server meinen öffentlichen Schlüssel nicht mehr akzeptiert), wird nichts auf den Server geschrieben /var/log/auth.log
. Dies lässt mich denken, dass es manchmal irgendwie auf einen anderen Computer trifft, aber ich weiß auch nicht, wie das möglich ist, da der DNS-Eintrag korrekt ist und immer dieselbe IP-Adresse zurückgibt.