Stellen Sie über ssh eine Verbindung mit einer PEM-Datei her


93

Ich möchte wissen, wie man über ssh mit einer .pem-Datei eine Verbindung zu einem beliebigen Server herstellt.

Derzeit führe ich den folgenden Befehl aus:

ssh user@mydomain.com

Welche Option soll ich verwenden?

Antworten:


168

Verwenden Sie die -iOption:

ssh -i mykey.pem user@mydomain.com

Wie in dieser Antwort angegeben , müssen für diese Datei die richtigen Berechtigungen festgelegt sein. Die SSH-Manpage sagt:

ssh ignoriert eine private Schlüsseldatei einfach, wenn andere darauf zugreifen können.

Sie können die Berechtigungen mit diesem Befehl ändern:

chmod go= mykey.pem

Das heißt, Berechtigungen für g ruppe und o thers gleich auf die leere Liste der Berechtigungen.


1
Ich möchte nur darauf hinweisen, dass Sie, wenn Sie nicht root sind, die PEM-Datei ändern und die Leseberechtigung für Ihren Benutzer aktivieren sollten.
Ionuț Ciuta

1
Dies betrifft nur die Client-Seite der Gleichung. Zum Einrichten des Servers müssen Sie Ihren öffentlichen Schlüssel in die Datei ~ / .ssh / authorized_keys kopieren. Sie können dies von Ihrem lokalen Computer aus tun, indem Sie: "ssh-copy-id -i ~ / mykey.pub user@mydomain.com".
Todd Walton

41
chmod 400 mykey.pem

ssh -i mykey.pem user@mydomain.com

Verbindet Sie über ssh mithilfe einer PEM-Datei mit einem beliebigen Server.


3
"chmod 400" hat dieses Problem behoben: Die Berechtigungen 0777 für 'some_file.pem' sind zu offen. Es ist erforderlich, dass Ihre privaten Schlüsseldateien NICHT für andere zugänglich sind. Dieser private Schlüssel wird ignoriert.
pantos27

15

Verwenden Sie für AWS, wenn der Benutzer Ubuntu ist, Folgendes, um eine Verbindung zum Remote-Server herzustellen.

chmod 400 mykey.pem

ssh -i mykey.pem ubuntu@your-ip

1

Mit den folgenden Befehlen können Sie eine Verbindung zu einer AWS ec-2-Instanz herstellen.

chmod 400 mykey.pem

ssh -i mykey.pem username@your-ip

Standardmäßig ist der Computername normalerweise wie Ubuntu, da der Ubuntu-Computer normalerweise als Server verwendet wird. In diesem Fall funktioniert der folgende Befehl.

ssh -i mykey.pem ubuntu@your-ip

0

So stellen Sie eine Verbindung vom Terminal zu AWS AMI her:

chmod 400 mykey.pem

ssh -i mykey.pem ec2-user@mydomain.com
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.