Direkt zum Inhalt

Wie entschlüssele ich ein verschlüsseltes EBS-Volume unter Linux?

Lesedauer: 3 Minute
0

Ich möchte ein Amazon Elastic Block Store (Amazon EBS)-Volume unter Linux entschlüsseln, das ich mit einem standardmäßigen oder benutzerdefinierten AWS Key Management Service (AWS KMS)-Schlüssel verschlüsselt habe.

Lösung

Hinweis: In der folgenden Lösung wird ein Root-Volume als Beispiel verwendet. Du kannst die folgenden Schritte auch auf einem sekundären Volume ausführen.

Gehe wie folgt vor, um das Amazon-EBS-Volume zu entschlüsseln:

  1. Erstelle einen Snapshot des verschlüsselten Root-Volumes oder erstelle ein Amazon Machine Image (AMI) der Instance mit dem verschlüsselten Volume.
    Hinweis: Es hat sich bewährt, Snapshots und AMIs zu verwenden, um die Ressourcen zu sichern, bevor du größere Aufgaben ausführst.
  2. Öffne die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
  3. Stoppe die Instance mit dem verschlüsselten Root-Volume.
  4. Notiere auf der Registerkarte Speicher den Namen des Stammgeräts und wähle dann Volume-ID aus.
    Hinweis: Das Stammgerät unterscheidet sich je nach AMI.
  5. Wähle Aktionen und dann Volume trennen aus.
  6. Wähle Trennen und notiere dir dann die Availability Zone.
  7. Starte eine Rettungs-Instance in derselben Availability Zone wie die ursprüngliche Instance.
    Hinweis: Verwende ein ähnliches Betriebssystem wie das, mit dem du die ursprüngliche Instance gestartet hast.
  8. Wähle Volumes und dann das verschlüsselte Root-Volume aus.
  9. Wähle Aktionen und dann Volume anfügen aus.
  10. Wähle für Instance die Rettungs-Instance-ID aus.
  11. Wähle für Gerätename /dev/xvdf oder /dev/sdf aus.
  12. Erstelle ein neues unverschlüsseltes Volume in derselben Availability Zone wie das ursprüngliche verschlüsselte Volume.
    Wichtig: Um Datenverlust zu vermeiden, stelle sicher, dass das neue Volume größer ist als das verschlüsselte Volume.
  13. Füge das neue unverschlüsselte Volume als /dev/xvdg oder /dev/sdg an die Rettungs-Instance an.
  14. Stelle eine Verbindung zur Rettungs-Instance her. Führe dann den Befehl lsblk aus, um zu bestätigen, dass das Stammgerät und die angefügten Volumes existieren:
lsblk

Beispielausgabe:

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda    202:0    0   8G  0 disk   
└─xvda1 202:1    0   8G  0 part /  
xvdf    202:80   0   8G  0 disk   
└─xvdf1 202:81   0   8G  0 part   
xvdg    202:96   0   8G  0 disk
  1. Um die Daten vom ursprünglichen verschlüsselten Volume auf das neue unverschlüsselte Volume zu verschieben, führe den dd-Befehl als sudo- oder Root-Benutzer aus:
dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress

Hinweis: Im vorherigen Befehl ist die Eingabedatei /dev/xvdf und die Ausgabedatei ist /dev/xvdg. Die Datenübertragungszeit variiert je nach Größe und Typ des Volumes und der Instance. Trenne das neue unverschlüsselte /dev/xvdg-Volume von der Rettungs-Instance. Füge es dann als /dev/xvda oder /dev/sda1 an die ursprüngliche Instance an. Stelle eine Verbindung zur ursprünglichen Instance her, um dich zu vergewissern, dass die Instance das neue unverschlüsselte Root-Volume liest. Wähle aus der Amazon-EC2-Konsole die ursprüngliche Instance aus und überprüfe dann die Eigenschaften des Volumes, um dich zu vergewissern, dass das Root-Volume jetzt unverschlüsselt ist.
Hinweis: Möglicherweise musst du die Instance neu starten oder beenden und starten, um die Partitionsänderungen im Kernel zu registrieren. Wiederhole den Vorgang für andere verschlüsselte Volumes auf der ursprünglichen Instance, um geklonte Volumes zu erstellen, die unverschlüsselt sind. Beende die Rettungs-Instance.

AWS OFFICIALAktualisiert vor einem Jahr