999 Stimmen

"UNGESCHÜTZTE PRIVATE SCHLÜSSELDATEI!" Fehler bei der Verwendung von SSH in einer Amazon EC2-Instanz (AWS)

Ich habe eine neue Linux-Instanz auf Amazon EC2 erstellt, und als Teil davon habe ich die .pem Datei, damit ich mich per SSH einloggen kann.

Als ich versuchte ssh mit:

ssh -i myfile.pem <public dns>

Ich habe:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: amazonec2.pem
Permission denied (publickey).

Unter diese Stelle Ich habe versucht chmod +600 die .pem Datei, aber wenn ich jetzt ssh Ich bekomme nur

Permission denied (publickey).

Welchen Schuljungenfehler mache ich hier? Die .pem Datei befindet sich in meinem Home-Ordner (unter macOS). Ihre Berechtigungen sehen wie folgt aus:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

1957voto

Kof Punkte 22423

Das Problem sind die falschen Berechtigungen für die Datei.

Leicht zu lösen durch Ausführen von -

chmod 400 mykey.pem

Entnommen aus den AWS-Anweisungen -

Damit SSH funktioniert, darf Ihre Schlüsseldatei nicht öffentlich einsehbar sein. Verwenden Sie diesen Befehl, falls erforderlich: chmod 400 mykey.pem

400 schützt es, indem es nur für den Eigentümer lesbar ist.

287voto

Till Punkte 21912

Sie verwenden wahrscheinlich den falschen Benutzernamen, weil

  • Die meisten Ubuntu-Images haben einen Benutzer ubuntu
  • Die AMI von Amazon ist ec2-user
  • Die meisten Debian-Images haben entweder root o admin

Um sich anzumelden, müssen Sie Ihre ssh Befehl:

ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host

77voto

user2838357 Punkte 861

Ich weiß, das ist muy Ich bin spät dran ... aber das つねに funktioniert für mich:

Stufe 1

ssh-add ~/.ssh/KEY_PAIR_NAME.pem

Schritt 2, einfach ssh in :)

ssh user_name@<instance public dns/ip>

z.B..

ssh ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

Ich hoffe, das hilft jemandem.

42voto

bobobobo Punkte 61051

Ok Mann, das Einzige, was bei mir funktioniert hat, war:

  1. Berechtigungen des Schlüssels ändern

    chmod 400 meinSchlüssel.pem

  2. Stellen Sie sicher, dass Sie sich anmelden mit ec2-Benutzer und die richtige ec2-99...-Adresse. Die Adresse ec2-99 befindet sich unten in der aws-Konsole, wenn Sie eingeloggt sind und Ihre Instanz angezeigt wird

    ssh -i mykey.pem ec2-user@ec2-99-99-99-99.compute-1.amazonaws.com

34voto

renick Punkte 3868

Werfen Sie einen Blick auf dieser Artikel . Sie verwenden nicht den öffentlichen DNS, sondern das Formular

ssh -i your.pem root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com

wo der Name auf Ihrem AMI-Panel sichtbar ist

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