Der Public Key basierte Login ist Standard beim Zugriff aus Linux Server. Doch was tun, wenn genau diese Methode plötzlich auf einem neuen Debian 12 Server mit der Fehlermeldung „Server refused our Key – No supported authentication methods available“ scheitert, obwohl sie bei Debian 11 Servern mit dem gleichen Schlüsselpaar problemlos funktioniert?
Problemursache
Der Kern des Problems liegt in der Tatsache, dass Debian 12 in seiner Standardkonfiguration keine SSH-Schlüssel unterstützt, die mit dem veralteten SHA RSA 1 Algorithmus generiert wurden. Dies ist eine Entscheidung der Debian-Entwickler, um die Sicherheit zu erhöhen, da ältere Algorithmen wie SHA RSA 1 als weniger sicher gelten.
Lösungsansätze
Lösung 1: Erzeugen eines neuen Schlüsselpaares
Die erste und empfohlene Lösung besteht darin, ein neues SSH-Schlüsselpaar mit einem moderneren und sichereren Algorithmus zu erzeugen. Der Befehl ssh-keygen -o -a 100 -t ed25519
erstellt beispielsweise ein neues Schlüsselpaar unter Verwendung des Ed25519 Algorithmus, der für seine hohe Sicherheit und Effizienz bekannt ist. Mehr Informationen zum Erstellen eines SSH-Schlüssels finden Sie in der Anleitung auf Heise Tipps & Tricks.
Lösung 2: Konfiguration des SSH-Dienstes
Falls das alte SSH-Schlüsselpaar weiterhin genutzt werden soll, besteht die Möglichkeit, den SSH-Dienst auf dem Debian 12 Server so zu konfigurieren, dass er auch die älteren SHA RSA 1 Schlüssel akzeptiert. Hierzu muss die Konfigurationsdatei /etc/ssh/sshd_config
bearbeitet und die Zeile PubkeyAcceptedAlgorithms +ssh-rsa
hinzugefügt werden. Nach einem Neustart des SSH-Dienstes werden die älteren Schlüssel wieder akzeptiert. Weitere Details zu dieser Lösung finden Sie auf DeployHQ’s Supportseite.
Fazit
Die Fehlermeldung „Server refused our Key – No supported authentication methods available“ beim Versuch, sich via Public-Key-Authentifizierung bei einem Debian 12 Server anzumelden, signalisiert ein Kompatibilitätsproblem aufgrund veralteter Algorithmen die beider Erzeugung des Schlüsselpaars verwendet wurden. Die Lösung dieses Problems kann entweder durch das Erzeugen neuer, sichererer Schlüssel oder durch eine Anpassung der Serverkonfiguration erfolgen, um ältere Schlüssel temporär weiterhin zu unterstützen. Letzteres sollte jedoch nur eine vorübergehende Lösung sein, da die Migration zu sichereren Schlüsseln langfristig die bessere Strategie darstellt.
ssh -i /home/xyz/.ssh/id_rsa.pub -oPubkeyAcceptedAlgorithms=+ssh-rsa -oHostKeyAlgorithms=+ssh-rsa -l root 192.168.178.91