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

31voto

Nadeeshan Herath Punkte 409

Unter Windows können Sie in den Eigenschaften der pem-Datei auf die Registerkarte "Sicherheit" und dann auf die Schaltfläche "Weiter" gehen.

Entfernen Sie die Vererbung und alle Berechtigungen. Gewähren Sie sich dann die volle Kontrolle. Schließlich wird SSL nicht mehr den gleichen Fehler anzeigen.

18voto

Ayush Goyal Punkte 191

Ändern Sie die Berechtigung für die Schlüsseldatei mit :

chmod 400 key-file-name.pem

Siehe AWS-Dokumentation zur Verbindung mit der Instanz:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#EC2_ConnectToInstance_Linux

12voto

Ricardo Cid Punkte 189

Ich weiß, dass diese Frage bereits beantwortet wurde, aber für diejenigen, die alles ausprobiert haben und immer noch die lästige Meldung "Permission denied (publickey)" erhalten. Versuchen Sie, Ihren Befehl mit SUDO auszuführen. Natürlich ist dies nur eine vorübergehende Lösung und Sie sollten die Berechtigungen korrekt setzen, aber so können Sie zumindest feststellen, dass Ihr aktueller Benutzer nicht die benötigten Rechte hat (wie Sie angenommen haben)

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com

Sobald Sie dies getan haben, erhalten Sie eine Meldung wie diese:

Please login as the user "ec2-user" rather than the user "root"

Auch dies ist nur spärlich dokumentiert. In diesem Fall tun Sie einfach dies:

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user

Und du bekommst das Glorreiche:

   __|  __|_  )
   _|  (     /   Amazon Linux AMI
  ___|\___|___|

12voto

Feb, 2022 Update:

Siehe die Beschreibung ssh zur EC2-Instanz auf AWS :

enter image description here

Dann können Sie Folgendes finden "Nr. 3" dies unten zu sagen:

enter image description here

Führen Sie also den folgenden Befehl als "Nr. 3" sagt oben:

chmod 400 myKey.pem

8voto

Himalay Majumdar Punkte 3673

Im Mac-Terminal half mir "chmod 400 xyz.pem" nicht weiter, es hieß immer wieder "permission denied". Für Ubuntu-Benutzer würde ich vorschlagen

  1. ssh-add xyz.pem
  2. ssh -i xyz.pem ubuntu@ec2-54-69-172-118.us-west-2.compute.amazonaws.com (Beachten Sie, dass der Benutzer ubuntu 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