Hervorragende Software und praktische Tutorials
So lösen Sie „Der ausgewählte Benutzerschlüssel ist nicht auf dem Remote-Host registriert“
Im EinsatzXshellRemote-AnmeldungAWSWenn Sie den Server verwenden, werden Sie auf "Der ausgewählte Benutzerschlüssel ist nicht auf dem Remote-Host registriertGrundsätzlich wird jeder Anfänger auf denselben Fehler stoßen. Was genau verursacht also den Fehler „Der ausgewählte Benutzerschlüssel ist auf dem Remote-Host nicht registriert“ während der SSH-Verbindung? Im Folgenden finden Sie eine detaillierte Analyse der Fehlerursachen.
Das Xshell-Tool ist eines der beliebtesten SSH-Remote-Tools. Im Vergleich zu Putty ist es leistungsstärker und unterstützt OpenSSH.
In der SchöpfungEC2Nachdem Sie eine Verbindung zum Server hergestellt haben, wird bei der Verbindung über SSH eine SSH-Sicherheitswarnung angezeigt.
Bitte überprüfen Sie den Hostschlüssel.
Der Hostschlüssel von xxx stimmt nicht mit dem in der lokalen Hostschlüsseldatenbank gespeicherten Schlüssel überein. Der Hostschlüssel wurde geändert oder jemand versucht, diese Verbindung abzuhören. Im Zweifelsfall wird empfohlen, die Verbindung abzubrechen.
Ich bin an dieser Stelle etwas verwirrt. Liegt das Problem am von AWS generierten Schlüssel oder an der SSH-Verbindung über Xshell? Im Folgenden werde ich das Problem Schritt für Schritt beheben.
Schritt 1: Überprüfen Sie zunächst, ob der Benutzername falsch ist. AWS hat eine kleine Falle: Der Standardbenutzername ist für jeden Servertyp unterschiedlich.Google WolkeDies ist die Standard-Root. Werfen wir einen Blick auf die verschiedenen AWSLinuxDer Benutzername für die Instanz.
Was ist der Standardbenutzername für Amazon EC2 Linux-Instanzen (für SSH, PuTTY usw.)?
Linux-Instanzen auf EC2/AWS-Servern (Ubuntu, Debian, Fedora, Amazonas Standardbenutzername für Linux usw.
- Amazon Linux 2023/Amazon Linux 2/Amazon Linux ec2-Benutzer
- CentOS centos oder ec2-user
- Debian Administrator
- Fedora Fedora oder EC2-Benutzer
- RHEL ec2-Benutzer oder Root
- SUSE ec2-Benutzer oder Root
- Ubuntu Ubuntu
- Orakel ec2-Benutzer
- Bitnami bitnami
Der Standardbenutzername des auf dem Testcomputer installierten RHEL-Systems lautet ec2-user oder root. Bei der Remote-Verbindung habe ich beide Benutzernamen ausprobiert, konnte aber dennoch keine Verbindung herstellen.
Offizielle AWS-Hilfeseite:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html
Schritt 2: Nachdem Sie bestätigt haben, dass das Problem nicht am Benutzernamen liegt, überprüfen Sie, ob ein Problem mit dem Schlüssel vorliegt.
Anweisungen zur Fernverbindung mithilfe von Schlüsseln finden Sie in der offiziellen Dokumentation.
Sie müssen den Speicherort der privaten Schlüsseldatei kennen, um eine Verbindung zu Ihrer Instanz herzustellen. Für SSH-Verbindungen müssen Sie Berechtigungen festlegen, damit nur Sie die Datei lesen können.
Informationen zur Funktionsweise von Schlüsselpaaren bei Verwendung von Amazon EC2 finden Sie unter Amazon EC2-Schlüsselpaare und Linux-Instances.
Suchen Sie den privaten Schlüssel
Ermitteln Sie den vollqualifizierten Pfad zum Speicherort der PEM-Datei für das Schlüsselpaar auf Ihrem Computer, das Sie beim Start der Instance angegeben haben. Weitere Informationen finden Sie unter Identifizieren des beim Start angegebenen öffentlichen Schlüssels. Wenn Sie die private Schlüsseldatei nicht finden können, lesen Sie „Ich habe meinen privaten Schlüssel verloren“. Wie verbinde ich mich mit meiner Linux-Instance?
Wenn Sie Putty verwenden, um eine Verbindung zur Instanz herzustellen und die PEM-Datei in eine PPK-Datei konvertieren müssen, lesen Sie dieKonvertieren eines privaten Schlüssels mit PuTTYgen im Thema „Herstellen einer Verbindung mit einer Linux-Instanz von Windows mit PuTTY“.
Legen Sie Berechtigungen für Ihren privaten Schlüssel fest, sodass nur Sie ihn lesen können
aus macOS oder Linux-Verbindung
Wenn Sie einen SSH-Client auf einem macOS- oder Linux-Computer verwenden möchten, um eine Verbindung zu Ihrer Linux-Instance herzustellen, verwenden Sie den folgenden Befehl, um Berechtigungen für die private Schlüsseldatei festzulegen, sodass nur Sie sie lesen können.
chmod 400 Schlüsselpaarname.pem
Wenn Sie diese Berechtigungen nicht festlegen, können Sie mit diesem Schlüsselpaar keine Verbindung zu Ihrer Instanz herstellen. Weitere Informationen finden Sie unter Fehler: Die private Schlüsseldatei ist nicht geschützt.Herstellen einer Verbindung über Windows
Öffnen Sie den Datei-Explorer und klicken Sie mit der rechten Maustaste auf die PEM-Datei. Wählen Sie Eigenschaften > Registerkarte Sicherheit und anschließend Erweitert. Wählen Sie Vererbung deaktivieren. Entfernen Sie die Zugriffsberechtigungen für alle Benutzer außer dem aktuellen Benutzer.
Versuchen Sie, die Eigenschaften des privaten Schlüssels zu ändern, wenn Sie in Windows eine Remoteverbindung herstellen.
Nach dem Ändern der Eigenschaften kann der Schlüssel immer noch nicht zum Verbinden verwendet werden.
Schritt 3: Überprüfen Sie, ob die Version des SSH-Remoteverbindungstools Xshell 6 zu niedrig ist, sodass keine SSH-Verbindung hergestellt werden kann.
Da ich Xshell 6 zur Serververwaltung auf meinem Computer verwendet hatte, hatte ich Xshell lange nicht aktualisiert. Daher habe ich Xshell 6 auf Xshell 7 aktualisiert und erneut versucht, eine Verbindung herzustellen.
Verbindung erfolgreich!
Nach vielen Schwierigkeiten stellte sich heraus, dass das Problem darin bestand, dass die Xshell-Version zu niedrig war.
Zusammenfassend lässt sich sagen, dass die FernverbindungAWS EC2Wenn Sie keine Verbindung zum Server herstellen können, liegt das wahrscheinlich daran, dass Sie nicht den richtigen Benutzernamen eingegeben haben, z. B. die Standardeingabe root
Ein weiterer Grund ist, dass die SSH-Softwareversion zu niedrig ist. Aktualisieren Sie Xshell.
Wenn Sie kein kostenlosesAmazon CloudFür den Server AWS EC2 können Sie sich kostenlos registrieren.
Offizielle AWS China-Website: https://aws.amazon.com/cn/
Offizielle Website von Amazon Web Services: https://www.amazonaws.cn/