30 Stimmen

Berechtigungsfehler bei der Verbindung zu EC2 über SSH unter Mac OSx

Ich bin neu bei EC2. Ich habe meine Sicherheitsanmeldeinformationen von dieser Website erstellt:

http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2

Es hat wunderbar funktioniert, ich habe neu gebootet und jetzt, wenn ich versuche, eine Verbindung herzustellen, erhalte ich eine Aufforderung zur Anmeldung/Passwort (die ich nie eingerichtet habe):

Erlaubnis verweigert (publickey,gssapi-with-mic).

Was mache ich falsch?

1voto

Madeline Trotter Punkte 372

Ich empfehle, kein Passwort zu setzen, wie es einige andere Antworten vorschlagen. Die Verwendung einer Schlüsseldatei ist sowohl sicherer (niemand kann Ihre Passwörter erraten) als auch bequemer (sobald Sie eine Konfigurationsdatei eingerichtet haben). Hier ist eine grundlegende ~/.ssh/config :

Host my-ec2-server
  HostName 11.11.11.11
  User ec2-user
  IdentityFile /path/to/generated-key.pem

Jetzt können Sie einfach Folgendes eingeben ssh my-ec2-server und Sie sind dabei! Und wie bereits in anderen Antworten erwähnt, verwenden Sie -v, um zusätzliche Informationen zu erhalten, wenn Ihre Verbindung nicht funktioniert.

1voto

Alexz Punkte 631

Wenn das Problem konsistent ist und etwa 10-15 Mal hintereinander auftritt, auch nach dem Ändern der Dateiberechtigungen auf 400 oder 600, dann ist mit Sicherheit etwas mit der ec2-Instanz nicht in Ordnung, um sicherzugehen:

  1. Überprüfen Sie die Protokolle, wenn Sie versuchen, per ssh auf die Instanz zuzugreifen, indem Sie -v am Ende hinzufügen, und sehen Sie nach, ob etwas Bestimmtes angezeigt wird.

  2. Vergewissern Sie sich, dass Sie den richtigen Namen für ssh verwenden, wie Ubuntu. Vielleicht hängt das von der Linux-Distribution und den Benutzern ab, die Sie hinzugefügt haben, und ob Sie die Berechtigung für "Root user" ssh erteilt haben.

Wenn nichts hilft, folgen Sie der Dokumentation hier https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectingMindTerm um das zu beheben. In meinem Fall hat es geholfen, und das lag an durcheinander geratenen Verzeichnissen/Dateirechten.

0voto

Sreekanth Punkte 81

Wenn Sie eine PPK-Datei auf einem PC haben, dann exportieren Sie sie als OpenSSH-Datei mit puttygen.exe für PC und verwenden Sie diese auf einem Mac (oder einem Unix-Rechner).

Ich habe den gleichen Fehler erhalten.

debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: ec2-keypair
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic)

Da ich eine PPK-Datei unter Windows verwendete, befolgte ich die Schritte wie oben beschrieben und Bingo!

$ ssh -i ec2-openssh-key Root@ec2-instance-ip

0voto

Arthur Ryman Punkte 11

Ich hatte das gleiche Problem bei der Verwendung des AWS Toolkit für Eclipse. Ich habe die Instanz Getting Started OK erstellt und eine Shell geöffnet. Der Benutzer war jedoch auf ec2-user eingestellt. Ich verwendete den Befehl Open Shell As... und setzte den Benutzer auf Root. Dann funktionierte es.

0voto

user2441357 Punkte 1

Ich hatte ein ähnliches Problem. Hier sind die Schritte zur Einrichtung von SSH-Schlüsseln und Weiterleitung auf dem Mac. Ich habe diese Notizen für mich selbst gemacht - vielleicht hilft es jemandem... überprüfen Sie es mit Ihrer Konfiguration.

Dabei wird davon ausgegangen, dass keine Schlüssel eingerichtet sind. Wenn Sie die Schlüssel bereits eingerichtet haben, überspringen Sie diesen Abschnitt.

$ sshkeygen t rsa b 4096

Erzeugen eines öffentlichen/privaten rsa-Schlüsselpaares.

Geben Sie eine Datei an, in der der Schlüssel gespeichert werden soll (/Users/you/.ssh/id_rsa): [Drücken Sie die Eingabetaste] Geben Sie die Passphrase ein (leer für keine Passphrase): [Geben Sie eine Passphrase ein] Geben Sie dieselbe Passphrase erneut ein: [Passphrase erneut eingeben]

Ändern Sie ~/.ssh/config und fügen Sie den Eintrag für die Schlüsseldatei hinzu:

~/.ssh/config sollte ungefähr so aussehen:

Gastgeber *

AddKeysToAgent ja

UseKeychain ja

IdentitätsDatei ~/.ssh/id_rsa

Speichern Sie den privaten Schlüssel im Schlüsselbund:

$ sshadd K ~/.ssh/id_rsa

Testen Sie es jetzt mit: ssh -A username@IhrHostname

Sollte Ihren Schlüssel an Ihren Hostnamen weiterleiten. Angenommen, Ihre Schlüssel werden hinzugefügt, sollten Sie ohne Probleme eine Verbindung herstellen können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X