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

37voto

OldGreg Punkte 481

Ich habe diesen Ansatz ausprobiert und es nach einiger Zeit geschafft, es zum Laufen zu bringen. Das Fehlen tatsächlicher Befehle hat es schwierig gemacht, aber ich habe es herausgefunden. ABER - kurz darauf wurde ein viel einfacherer Ansatz gefunden und getestet:

  1. Speichern Sie Ihre Instanz als AMI (mit oder ohne Neustart, ich empfehle einen Neustart). Dies funktioniert nur, wenn sie EBS-backed ist.
  2. Dann starten Sie einfach eine Instanz aus diesem AMI und weisen Sie Ihr neues Keyfile zu.
  3. Übertragen Sie Ihre elastische IP (falls zutreffend) auf Ihre neue Instanz und Sie sind fertig.

0 Stimmen

Das hat bei mir total funktioniert, nachdem ich versehentlich ~/.ssh gelöscht hatte.

0 Stimmen

Ich habe dasselbe getan und es hat funktioniert, jetzt kann ich mich mit dem neuen PEM anmelden. Aber ich kann mich immer noch mit dem alten PEM anmelden. Jetzt sind also 2 PEMs gültig.

0 Stimmen

FYI dies ist eine schnelle und einfache GUI-Methode, um eine neue EC2 mit einem anderen Schlüssel zu starten, wenn beschäftigt, aber wie @vitaly herausgefunden hat, haben Sie auch den alten pem-Schlüssel gültig, müssen Sie zu /home/ec2-user/.ssh/authorized_keys gehen und den alten pem-Schlüssel aus der Datei entfernen. Danke für die schnelle Pem-Schlüssel-Änderungsmethode, schön und einfach, wenn man keine Zeit hat.

30voto

Reto Höhener Punkte 4609

Schritte:

  1. Erstellen Sie einen neuen Schlüssel z.B. mit der AWS-Konsole, dem PuTTY Key Generator oder ssh-keygen
  2. Instanz anhalten
  3. Setzen Sie die Benutzerdaten der Instanz so, dass der öffentliche Schlüssel auf den Server übertragen wird
  4. Instanz starten

Bildbeschreibung hier eingeben

#cloud-config
cloud_final_modules:
- [once]
bootcmd:
 - echo 'ssh-rsa AAAAB3Nz...' > /home/USERNAME/.ssh/authorized_keys

Wo USERNAME der erwartete Benutzername für die Maschine ist. Eine Liste von Standard-Benutzernamen ist unter AWS verfügbar.

Schritt-für-Schritt-Anleitung von AWS

1 Stimmen

Das ist die offizielle AWS-Methode, um es zu tun, also ein Lob an @reto. aws.amazon.com/premiumsupport/knowledge-center/…

0 Stimmen

@Bevan, Ihr offizielles Dokument funktioniert nicht.

1 Stimmen

Das war das schnellste und einfachste. Warum wird es so unterschätzt?

27voto

Parveen yadav Punkte 2164

Es gibt zwei Szenarien, die in dieser Frage aufgeführt sind:-

1) Sie haben keinen Zugriff auf die .pem Datei, deshalb möchten Sie eine neue erstellen.

2) Sie haben Zugriff auf die .pem Datei, aber Sie möchten sie nur aus bestimmten Sicherheits- oder Verwundbarkeitsgründen ändern oder eine neue erstellen.

Wenn Sie Ihre Schlüssel verloren haben, können Sie nach oben scrollen und andere Antworten ansehen. Aber wenn Sie einfach Ihre .pem Datei aus Sicherheitsgründen ändern möchten, befolgen Sie die Schritte:

1) Gehen Sie zur AWS-Konsole, melden Sie sich an und erstellen Sie eine neue .pem Datei im Abschnitt Schlüsselpaare. Die Datei wird automatisch auf Ihren PC heruntergeladen.

2) Ändern Sie die Berechtigungen auf 400, wenn Sie Linux/Ubuntu verwenden, geben Sie den folgenden Befehl ein:

chmod 400 yournewfile.pem

3) Generieren Sie den RSA-Schlüssel der neu heruntergeladenen Datei auf Ihrem lokalen Rechner

ssh-keygen -f yournewfile.pem -y

4) Kopieren Sie den RSA-Code von hier

5) Verbinden Sie sich nun über die vorherige .pem Datei mit Ihrer Instanz

ssh -i oldpemfileName.pem username@ipaddress

sudo vim  ~/.ssh/authorized_keys

6) Geben Sie ein oder zwei Leerzeilen ein und fügen Sie den kopierten RSA-Code der neuen Datei hier ein und speichern Sie die Datei

7) Jetzt ist Ihre neue .pem Datei mit der laufenden Instanz verknüpft

8) Wenn Sie den Zugriff auf die vorherige .pem Datei deaktivieren möchten, bearbeiten Sie einfach die

sudo vim ~/.ssh/authorized_keys

Datei und entfernen oder ändern Sie den vorherigen RSA-Schlüssel von hier.

Hinweis:- Entfernen Sie sorgfältig, damit der neu erstellte RSA-Schlüssel nicht geändert wird.

Auf diese Weise können Sie die neue .pem Datei mit Ihrer laufenden Instanz ändern/verbinden.

Sie können den Zugriff auf zuvor generierte .pem Dateien aus Sicherheitsgründen widerrufen.

Hoffentlich hilft es!

3 Stimmen

Ich mag diese Lösung irgendwie, weil es mir nicht erfordert, eine neue Instanz mit einem eingefrorenen AMI-Image zu erstellen. Aber ist diese Methode in der Lage, den zugehörigen keypair-Namen der EC2-Instanz im EC2-Dashboard zu ändern? @Parveen yadav

0 Stimmen

Es ist wirklich eine erstaunliche Antwort, ich möchte nur hinzufügen, dass Sie auch RSA mit dem Putty-Generator generieren können.

0 Stimmen

Ec2-Dashboard zeigt immer noch den alten Schlüsselpaar-Namen an. Da dieser nicht aus der Konsole geändert wurde.

19voto

Sergey Punkte 749

Ich glaube, der einfachste Ansatz ist folgender:

  1. Erstellen Sie ein AMI-Abbild der vorhandenen Instanz.
  2. Starten Sie eine neue EC2-Instanz mit dem AMI-Abbild (erstellt im Schritt 1) mit einem neuen Schlüsselpaar.
  3. Melden Sie sich bei der neuen EC2-Instanz mit dem neuen Schlüssel an.

0 Stimmen

@Brady, was funktioniert überhaupt nicht? Das Erstellen eines Snapshots? Starten einer Instanz? Einloggen?

5 Stimmen

Ich bin mir nicht sicher, ob diese Änderung kürzlich erfolgt ist oder nicht, aber wenn Sie ein AMI von einer Instanz erstellen, der bereits ein Schlüssel zugewiesen ist, müssen Sie über diesen Schlüssel verfügen, um sich in das kopierte AMI-Bild einzuloggen, unabhängig davon, ob Sie bei der Erstellung ein anderes Schlüsselpaar zuweisen oder nicht.

1 Stimmen

Dies ist keine Lösung, wie @Brady erwähnt, es funktioniert nicht.

18voto

vinay saini Punkte 335

Wenn die folgenden Schritte befolgt werden, wird viel Zeit gespart und es ist nicht notwendig, die laufende Instanz anzuhalten.

  1. Starten Sie eine neue t1.micro EC2-Instanz mit einem neuen Schlüsselpaar. Vergewissern Sie sich, dass Sie es im selben Subnetz erstellen, sonst müssen Sie die Instanz beenden und erneut erstellen.
  2. SSH zur neuen Mikroinstanz und kopieren Sie den Inhalt von ~/.ssh/authorized_keys irgendwo auf Ihrem Computer.
  3. Melden Sie sich mit dem alten SSH-Schlüssel an der Hauptinstanz an.
  4. Kopieren und ersetzen Sie den Dateiinhalt von Punkt 2 nach ~/.ssh/authorized_keys
  5. Jetzt können Sie sich nur noch mit dem neuen Schlüssel anmelden. Der alte Schlüssel funktioniert nicht mehr.

Das ist alles. Viel Spaß :)

0 Stimmen

Instinktive Lösung!

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