542 Stimmen

Ändern Sie das Schlüsselpaar für die EC2-Instanz

Wie kann ich das Schlüsselpaar für meine EC2-Instanz in der AWS-Verwaltungskonsole ändern? Ich kann die Instanz anhalten, ein neues Schlüsselpaar erstellen, aber ich sehe keinen Link, um das Schlüsselpaar der Instanz zu ändern.

3 Stimmen

Ich folgte den Schritten in diesem Video und es hat funktioniert youtube.com/watch?v=OF2AOekW4IE

1 Stimmen

Es scheint, dass es nicht möglich ist, auch kann man den Schlüssel-Paar von AWS löschen und in diesem Fall kann der Host m/c sich nicht in die EC2-Instanzen einloggen. Sieht so aus, als ob es ein Defekt ist

3voto

George Smith Punkte 351

Danke für die Tipps, Leute. Werde sie auf jeden Fall im Hinterkopf behalten, wenn ich die Schlüsselpaare zurücksetzen muss.

Allerdings habe ich aus Effizienzgründen und Faulheit etwas anderes herausgefunden:

  1. Erstelle dein neues Schlüsselpaar und lade die Zugangsdaten herunter.
  2. Klicke mit der rechten Maustaste auf deine Instanz > Erstelle AMI, sobald dies erledigt ist.
  3. Beende deine Instanz (oder stoppe sie einfach, bis du sicher bist, dass du eine neue aus deiner glänzenden neuen AMI erstellen kannst).
  4. Starte eine neue EC2-Instanz aus der gerade erstellten AMI und gib dein neues Schlüsselpaar aus Schritt (1) oben an.

Ich hoffe, das kann dir nützlich sein und dir Zeit sparen sowie die Menge an grauen Haaren minimieren, die du durch so etwas bekommst :)

0 Stimmen

Warum sollte ich meine Instanz beenden? Muss ich nur meinen Schlüsselpaar ändern?

0 Stimmen

Es ist möglicherweise keine gute Idee. Das Erstellen eines neuen AMI und das Ausführen einer neuen Instanz können möglicherweise auf ein weiteres Problem stoßen, wie z. B. eine Verringerung der Volumengeschwindigkeit.

2voto

belial Punkte 301

Was Sie tun können...

  1. Erstellen Sie ein neues Instanzprofil / Rolle, dem die Richtlinie AmazonEC2RoleForSSM zugewiesen ist.

  2. Hängen Sie dieses Instanzprofil an die Instanz an.

  3. Verwenden Sie den SSM-Sitzungs-Manager, um sich bei der Instanz anzumelden.

  4. Verwenden Sie keygen auf Ihrem lokalen Rechner, um ein Schlüsselpaar zu erstellen.

  5. Schieben Sie den öffentlichen Teil dieses Schlüssels mit Ihrer SSM-Sitzung auf die Instanz.

  6. Gewinn.

1 Stimmen

Dies sollte höher bewertet werden. SSM ist eine bessere Methode, da der SSM-Sitzungsmanager es auch ermöglicht, auf Instanzen zuzugreifen, die nicht einmal einen offenen SSH-Port haben. Für weitere Informationen finden Sie hier die Dokumente: docs.aws.amazon.com/systems-manager/latest/userguide/…

2voto

Neeraj Yadav Punkte 79

Dies ist für diejenigen, die zwei verschiedene pem-Dateien haben und aus Sicherheitsgründen eine davon verwerfen möchten. Angenommen, wir möchten 1.pem verwerfen

  1. Verbinden Sie sich mit Server 2 und kopieren Sie den SSH-Schlüssel aus ~/.ssh/authorized_keys
  2. Verbinden Sie sich mit Server 1 in einem anderen Terminal und fügen Sie den Schlüssel in ~/.ssh/authorized_keys ein. Sie haben jetzt zwei öffentliche SSH-Schlüssel hier
  3. Versuchen Sie jetzt nur zu Ihrer Sicherheit, sich mit Server 1 mit 2.pem zu verbinden. Sie können sich mit Server 1 sowohl mit 1.pem als auch mit 2.pem verbinden
  4. Kommentieren Sie nun den 1.pem SSH aus und stellen Sie eine Verbindung mit ssh -i 2.pem user@server1 her

1voto

Ryan Punkte 692

Die Antwort von Yegor256 hat für mich funktioniert, aber ich dachte, ich würde nur ein paar Kommentare hinzufügen, um denen zu helfen, die nicht so gut beim Einhängen von Laufwerken sind (wie ich!):

Amazon gibt Ihnen die Wahl, wie Sie das Volume nennen möchten, wenn Sie es anhängen. Sie müssen einen Namen im Bereich von /dev/sda - /dev/sdp angeben. Die neueren Versionen von Ubuntu benennen dann das, was Sie dort angegeben haben, in /dev/xvd(x) oder etwas Ähnliches um.

Also habe ich für mich den Namen /dev/sdp als Mount-Namen in AWS gewählt, dann habe ich mich auf den Server eingeloggt und festgestellt, dass Ubuntu mein Volume in /dev/xvdp1 umbenannt hatte. Dann musste ich das Laufwerk einhängen - für mich musste ich es so machen:

mount -t ext4 xvdp1 /mnt/tmp

Nachdem ich all diese Hürden genommen hatte, konnte ich auf meine Dateien unter /mnt/tmp zugreifen.

1voto

EvilCreamsicle Punkte 33

Wenn jemand hier ist, weil er nicht auf eine EC2-Instanz zugreifen kann, weil er das Keypair nicht hat, aber IAM-Zugriff hat, kann er den folgenden Befehl ausführen, um temporären Zugriff (60 Sekunden) auf seine EC2-Instanz mit einem vorhandenen Schlüssel zu ermöglichen, solange er den Benutzernamen kennt (normalerweise 'ubuntu' für Ubuntu-Instanzen oder 'ec2-user' für Amazon-Linux-Instanzen):

aws ec2-instance-connect send-ssh-public-key --region ${your-aws-region} --instance-id ${your-instance-id} --availability-zone ${your-instance-az} --instance-os-user ${username} --ssh-public-key file://path/to/public/key 

(Wenn Sie mehrere Anmeldeinformationen-Profile in Ihrer ~/.aws/credentials-Datei haben, können Sie dies angeben, indem Sie der Befehl '--profile your-profile' zu diesem Befehl hinzufügen)

Die Ausgabe wird so ähnlich aussehen, wenn erfolgreich:

{
"RequestId": "3537268d-c161-41bb-a4ac-977b79b2bdc0",
"Success": true
}

Dann haben Sie 60 Sekunden Zeit, um sich mit diesem Schlüssel einzuloggen.

1 Stimmen

Das hat mir absolut den Hintern gerettet. Vielen Dank! Der availability-zone-Parameter war in meinem Fall nicht erforderlich, nur zur Info.

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