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

1voto

Zgpeace Punkte 2935

.400 schützt es, indem es schreibgeschützt und nur für den Eigentümer bestimmt ist.
Die Antwort finden Sie im ASW-Leitfaden.

chmod 400 yourPrivateKey.pem

enter image description here

1voto

fivedogit Punkte 7523

Checkliste:

  1. Verwenden Sie die richtige .pem-Datei für den privaten Schlüssel?

  2. Sind die Berechtigungen richtig eingestellt? (Meine AMIs der Marke Amazon funktionieren mit 644, aber Red Hat braucht mindestens 600 oder 400. Bei Ubuntu weiß ich es nicht.)

  3. Verwenden Sie den richtigen Benutzernamen in Ihrer ssh-Zeile? Amazon-branded = "ec2-user", Red Hat = "Root", Ubuntu = "ubuntu". Der Benutzer kann als "ssh -i pem usename@hostname" ODER "ssh -l username -i pem hostname" angegeben werden.

1voto

Für Windows 10.

. Rechtsklick auf die Datei . Eigenschaften->Sicherheit-> Vererbung deaktivieren .jetzt hinzufügen -> Ihr Benutzer(Fenster) mit nur "lesen" . Klick ok

jetzt funktioniert es bei mir

1voto

Ajai Punkte 2438

Nachfolgend finden Sie die einfachen Schritte für Linux-Benutzer zur Verbindung mit dem Server unter Verwendung der .pem-Datei:

Schritt 1: Suchen Sie den Speicherort der pem-Datei und kopieren Sie sie in die Home-.ssh-Position.

cp example.pem ~/.ssh/example.pem

Schritt 2: Ändern Sie die Berechtigung

chmod 400 ~/.ssh/example.pem

Schritt 3: Führen Sie den folgenden Befehl aus

ssh -i ~/.ssh/example.pem ec2-user@host.com

Da dieser Befehl zu lang ist, sollten Sie mit den folgenden Befehlen einen Alias für diesen Befehl erstellen:

 vim ~/.bashrc

Schreiben Sie denselben Befehl in der folgenden Weise an den Schluss.

alias sshConnect='ssh -i ~/.ssh/example.pem ec2-user@host.com'

Starten Sie nun Ihr System neu und verwenden Sie sshConnect um eine Verbindung zu Ihrem Server herzustellen.

1voto

Sunil Punkte 649

Sie müssen der Schlüsseldatei (myfile.pem) konservative Berechtigungen zuweisen. Versuchen Sie, sie zu ändern in r-------- OR 400

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