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

7voto

Codemaker Punkte 7272

Unter Windows,

  • Klicken Sie mit der rechten Maustaste auf die pem-Datei. Wählen Sie dann Eigenschaften.
  • Wählen Sie die Registerkarte "Sicherheit" --> Klicken Sie auf die Schaltfläche "Erweitert" --> Deaktivieren Sie die Vererbung --> Entfernen Sie alle vererbten Berechtigungen von diesem Objekt image1
  • Klicken Sie auf die Schaltfläche Hinzufügen --> Wählen Sie einen Auftraggeber --> Geben Sie Ihren Benutzernamen in das Eingabefeld ein --> Klicken Sie auf die Schaltfläche Namen prüfen --> Klicken Sie auf Ok --> Klicken Sie auf Ok --> Klicken Sie auf Ok --> Klicken Sie auf Ok image2

5voto

Jagatveer Singh Punkte 185

Für diesen Fehler kann es drei Gründe geben.

  1. Sie verwenden eine falsche Taste.
  2. Ihr Schlüssel hat nicht die richtigen Berechtigungen. Sie müssen ihn auf 400 chmod setzen.
  3. Sie verwenden den falschen Benutzer. Ubuntu-Images haben einen Benutzer ubuntu ist die AMI von Amazon ec2-Benutzer und Debian-Images haben entweder Wurzel o admin

5voto

Syed Priom Punkte 1749

Ssh -i /.pem benutzer@host-machine-IP

Ich denke, es liegt daran, dass Sie entweder falsche Anmeldedaten eingegeben haben oder Sie verwenden einen öffentlichen Schlüssel anstelle eines privaten Schlüssels oder Ihre Port-Berechtigungen sind für ALLE für ssh offen. Das ist schlecht für Amazon.

5voto

Rodrigo Nantes Punkte 67

Zusätzlich zu den anderen Antworten habe ich Folgendes getan, damit das funktioniert:

  • Kopieren Sie den Schlüssel in den .ssh-Ordner, falls Sie das noch nicht getan haben:

cp key.pem ~/.ssh/key.pem

  • Geben Sie dem Schlüssel die richtigen Berechtigungen

chmod 400 ~/.ssh/key.pem

eval `ssh-agent -s` ssh-add

  • Fügen Sie dann den Schlüssel

ssh-add ~/.ssh/key.pem

Jetzt sollten Sie in der Lage sein, ssh EC2 (:

5voto

jarvis Punkte 297

Alternative Anmeldung mit PuTTY. Es ist gut, erfordert aber ein paar Schritte.

  1. Holen Sie sich die .pem-Datei, die bei der Erstellung der EC2-Instanz erstellt wurde.
  2. Konvertieren Sie die .pem-Datei .ppk mit PuttyGen da PuTTY kein .pem lesen kann.
  3. Öffnen Sie PuTTY und geben Sie Ihr Host-Name das ist Ihr Instanz-Benutzername + öffentlicher DNS (z. B. ubuntu@ec2-xxx-xxx-xxx-xxx.region.compute.amazonaws.com). Nicht Ihr AWS-Konto-Benutzername.
  4. Navigieren Sie dann zu Verbindung > SSH > Auth . Dann fügen Sie Ihre .ppk Datei. Klicken Sie auf durchsuchen wo es heißt "Private Schlüsseldatei für die Authentifizierung" .
  5. Klicken Sie auf Öffnen und Sie sollten sofort eine Verbindung herstellen können.

Ich verwende PuTTY 0.66 unter Windows.

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