SSH zu meinem AWS-Server brach gerade für PuTTY und Filezilla. Ich mache mir Mühe, damit dieser Beitrag eine umfassende Fehlerbehebungsliste ist. Wenn Sie also Links zu anderen Stack-Überlaufseiten freigeben, werde ich sie in die Frage einarbeiten.
Disconnected : No supported authentication methods available (server sent :publickey)
Der Fehler ist bekannt, als ich vor fast einem Jahr die Verbindung aufbaute. Wenn Sie AWS SSH zum ersten Mal einrichten, richten Sie sich an die häufigsten Probleme:
Das einzige, was ich denken könnte, das sich auf ein zuvor funktionierendes System auswirken könnte, ist:
Welche anderen Möglichkeiten gibt es?
Lösung für diese (gemäß dem unten angegebenen akzeptierten Beitrag) ist, dass für AWS EC2 alle drei Berechtigungen über die erforderlichen Berechtigungen verfügen müssen (777 nicht in Ordnung). Hier ist ein Beispiel, das funktioniert:
/home/ec2-user/ - 700
/home/ec2-user/.ssh/ - 600
/home/ec2-user/.ssh/authorized_keys - 600
/ var/log/secure informiert Sie darüber, welche einen Fehler auslöst. In diesem Video-Tutorial erhalten Sie Zugriff, wenn Sie vollständig gesperrt sind: http://d2930476l2fsmh.cloudfront.net/LostKeypairRecoveryOfLinuxInstance.mp4
Für mich ist dieser Fehler sofort aufgetreten, nachdem ich das Home-Verzeichnis des Benutzers geändert habe
Sudo usermod -d var/www/html username
Es kann auch vorkommen, dass in ~/.ssh keine Berechtigung für die Datei authorized_key vorliegt. Stellen Sie sicher, dass die Erlaubnis für diese Datei 0600 und die Erlaubnis für ~/.ssh 700 ist.
Es gibt eine andere Ursache, die sich auf ein zuvor funktionierendes System auswirken würde. Ich habe meine Instanzen neu erstellt (mit AWS OpsWorks), um Amazon Linux anstelle von Ubuntu zu verwenden, und erhielt diesen Fehler danach. Die Umstellung auf "ec2-user" als Benutzername anstelle von "ubuntu" löste das Problem für mich.
Sie erhalten auch "Disconnected: Keine unterstützten Authentifizierungsmethoden verfügbar (Server gesendet: publickey)", wenn Sie einen korrekten Linux-Benutzer haben, die Datei jedoch nicht .ssh/Authorized_keys erstellt und den öffentlichen Schlüssel gespeichert haben, wie in Benutzer verwalten angegeben Konten auf Ihrer Linux-Instanz
PuTTY unterstützt das von Amazon EC2 generierte private Schlüsselformat (.pem) nicht nativ. PuTTY verfügt über ein Tool namens PuTTYgen, mit dem Schlüssel in das erforderliche PuTTY-Format (.ppk) konvertiert werden können. Sie müssen Ihren privaten Schlüssel in dieses Format (.ppk) konvertieren, bevor Sie versuchen, mithilfe von PuTTY eine Verbindung zu Ihrer Instanz herzustellen.
Die Schritte, wie dies ausgeführt wird, sind hier beschrieben: https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/PuTTY.html
Dies hat das Problem gelöst.
Eine umfassende Antwort ist hier: https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/PuTTY.html
Ihr Problem kann mit falscher Anmeldung zusammenhängen, die je nach AMIs unterschiedlich ist. Verwenden Sie die folgenden Anmeldungen für folgende AMIs:
Wenn Sie ein Betriebssystem verwenden:
ssh -i your-ssh-key.pem [email protected]
Viel Glück.
Ich hatte das gleiche Problem, aus Versehen. Ich teile es hier, falls jemand den gleichen Fehler gemacht hat.
Grundlegende Schritte, wie andere beschrieben.
Viel Glück!
in den meisten Fällen wurde keine Authentifizierungsmethode angezeigt, wenn der falsche Benutzername zum Anmelden verwendet wurde. Ich finde jedoch etwas anderes, wenn Sie immer noch Probleme mit der Verbindung haben und alle oben genannten Optionen ausprobiert haben.
Ich habe ein paar Linux VM erstellt und versuche, ein solches Verbindungsproblem zu reproduzieren. Eine Sache, die ich gefunden habe, ist, als Sie von AWS gefragt wurden, ob Sie Ihr Schlüsselpaar nennen sollen Paarname, sogar AWS erlaubt es Ihnen tatsächlich.
ex. Wenn ich das Schlüsselpaar als "AWS.FREE.LINUX" benannte, wird die Verbindung immer abgelehnt. Wenn ich "AWS_FREE_LINUX" nannte, funktioniert alles einwandfrei.
Hoffe das hilft ein bisschen.
Ich hatte das gleiche Problem, ich benutzte Public DNS anstelle von Public IP . Es wurde jetzt gelöst.
Für mich musste ich FileZilla nur mitteilen, wo die privaten Schlüssel waren:
Ich verwende OpsWorks und wollte eine neue vorhandene Linux-Instanz von meinem Windows-Computer bei AWS Cli registrieren.
Das erste Problem bestand darin, dass ich meine PuTTY generierte .pkk-Datei verwenden musste .
Das zweite Problem war, dass ich quot den absoluten Pfad zu dieser .pkk-Datei wie folgt angeben musste:
aws opsworks register --infrastructure-class ec2 --ssh-Benutzername ec2-user --ssh-private-key "C:\key.ppk"
Wenn die Schlüsseldatei und der Benutzername korrekt sind, scheint dies auf mehreren Instanzen aufzutreten, wenn bestimmte dem Rootbenutzer zugeordnete Verzeichnisberechtigungen geändert werden.
Ein ähnliches Problem ist heute bei mir aufgetreten. Ich hatte auch viel darüber gesucht. Keine Hilfe. Ich habe gerade zwei Änderungen vorgenommen und es funktioniert auch einwandfrei.
Ich hoffe es wird dir helfen.
In meinem Fall bestand das Problem darin, dass die PPK-Datei im Ordner% USERPROFILE%\Downloads statt im Ordner% USERPROFILE% .ssh abgelegt wurde.
Nachdem ich die Datei verschoben habe, ist das Problem verschwunden.