AWS-EC2 Schlüssel oder Passwort verloren, wie kann man Passwort oder Schlüssel zurücksetzen?

Wie kann ich das Kennwort und den geheimen Schlüssel zurücksetzen, wenn die EC2-Instanz das Kennwort oder den geheimen Schlüssel vergisst?

Methode 1: Geben Sie Benutzerinformationen ein

Warnung: Bevor Sie diesen Vorgang starten, beachten Sie bitte Folgendes:

  1. Erstellen Sie ein neues Schlüsselpaar .

  2. Wenn Sie einen privaten Schlüssel in der Amazon EC2-Konsole erstellen, rufen Sie den öffentlichen Schlüssel im Schlüsselpaar ab .

  3. Öffnen Sie die Amazon EC2-Konsole .

  4. Stoppen Sie Ihre Instanz .

  5. Wählen Sie Aktionen , Instanzeinstellungen und Benutzerdaten anzeigen / ändern .

  6. Kopieren Sie das folgende Skript in das Dialogfeld Benutzerdaten anzeigen / ändern :
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [users-groups, once]
users:
  - name: username (用户名root/centos/ec2-user根据自己情况来)
    ssh-authorized-keys: 
    - PublicKeypair(注意这里是直接填写完整的rsa-开头的公钥)

Ersetzen Sie den Benutzernamen durch Ihren Benutzernamen, z. B. ec2-user . Sie können den Standardbenutzernamen eingeben. Wenn Sie zuvor einen benutzerdefinierten Benutzernamen für diese Instanz festgelegt haben, geben Sie diesen Benutzernamen ein. Eine Liste der Standardbenutzernamen finden Sie unter Allgemeine Voraussetzungen für die Verbindung zu einer Instanz .

Ersetzen Sie PublicKeypair durch den in Schritt 2 abgerufenen öffentlichen Schlüssel. Stellen Sie sicher, dass Sie den vollständigen öffentlichen Schlüssel eingeben, der mit ssh-rsa beginnt .

  1. Wählen Sie Speichern .

  2. Starten Sie Ihre Instanz .

  3. Stellen Sie nach Abschluss der Cloud-Init-Phase sicher , dass der öffentliche Schlüssel ersetzt wurde .

WICHTIG: Da das Skript ein Schlüsselpaar enthält, löschen Sie das Benutzerdatenfeld im Skript.

  1. Stoppen Sie Ihre Instanz .

  2. Wählen Sie Aktionen , Instanzeinstellungen und Benutzerdaten anzeigen / ändern .

  3. Löschen Sie den gesamten Text im Dialogfeld Benutzerdaten anzeigen / ändern und wählen Sie Speichern .

  4. Starten Sie Ihre Instanz .

Hinweis: Wenn Ihr Beispiel Amazon Linux 2.0.20190618 Version 2 oder höher ist, können Sie mit der EC2- Instanzverbindung eine Verbindung zur Instanz herstellen.

Methode 2: Verwenden Sie AWS Systems Manager

Wenn eine Instanz, auf die Sie nicht zugreifen können, in AWS Systems Manager als verwaltete Instanz aufgeführt ist , können Sie das Dokument AWSSupport-ResetAccess verwenden , um ein Szenario mit verlorenen Schlüsselpaaren wiederherzustellen. In diesem automatisierten Dokument wird das EC2Rescue- Tool für Linux auf der angegebenen EC2-Instanz verwendet, um automatisch ein neues SSH-Schlüsselpaar (öffentlich / privat) zu generieren und hinzuzufügen.

Der neue private SSH-Schlüssel für Ihre Instanz wird verschlüsselt und im AWS Systems Manager-Parameterspeicher gespeichert . Der Parametername lautet / ec2rl / openssh / instance_id / key . Verwenden Sie den Wert dieses Parameters als Inhalt, um eine neue PEM- Datei zu erstellen und eine Verbindung zu einer Instanz herzustellen , auf die Sie nicht zugreifen können.

Hinweis: Der automatisierte Workflow erstellt ein Backup und ein kennwortfähiges Amazon Machine Image (AMI). Der neue AMI wird nicht automatisch gelöscht, sondern verbleibt in Ihrem Konto.

So finden Sie diese AMIs:

  1. Öffnen Sie die Amazon EC2-Konsole und wählen Sie AMI .

  2. Geben Sie die Ausführungs-ID für die Automatisierung in das Suchfeld ein.

Ich habe die beiden oben genannten Methoden mehrmals ausprobiert, bin jedoch fehlgeschlagen. Methode 2 kann nicht verwendet werden, da die Instanz keine verwaltete Instanz ist.

Die Quelladresse des obigen Dokuments: https://aws.amazon.com/cn/premiumsupport/knowledge-center/user-data-replace-key-pair-ec2/

Methode 3 Datenträgerübertragungsmethode (Ich habe diese Methode erfolgreich angewendet. Die ultimative Methode. Iptables, die versehentlich den SSH-Port ummauert haben, können ebenfalls mit dieser Methode gelöst werden.)

  1. Da die Produktionsumgebung zwischen der Systemfestplatte und der Datenfestplatte unterschieden wird und die Daten auf der Datenfestplatte gespeichert werden, besteht Spielraum für Manövrierbarkeit.
  2. Trennen Sie das Datenvolumen von der Quellinstanz (hier kann auch ein Snapshot erstellt werden).
  3. Erstellen Sie eine neue Instanz, die ein Spiegelbild der Quellinstanz ist (einschließlich Region, Sicherheitsgruppe, VPC-Subnetz, und das Schlüsselpaar sollte so konsistent wie möglich sein, und die Provinz wird später geändert).
  4. Ordnen Sie das nicht verbundene Datenvolumen der neuen Instanz zu
  5. Melden Sie sich beim neuen Instanzsystem an, stellen Sie das Volume bereit und können Sie MySQL, Nginx und andere Daten anzeigen
  6. Installieren Sie die erforderliche Programmsoftware und versuchen Sie, mit der Version auf der Quellinstanz konsistent zu sein. Binden Sie nach der Wiederherstellung der Umgebung die elastische IP auf der Quellinstanz an die neue Instanz.

Ich denke du magst

Origin blog.51cto.com/vaedit/2592273
Empfohlen
Rangfolge