跳至内容

如何解密 Linux 中加密的 EBS 卷?

1 分钟阅读
0

我想解密 Linux 中使用默认或自定义 AWS Key Management Service (AWS KMS) 密钥加密的 Amazon Elastic Block Store (Amazon EBS) 卷。

解决方法

**注意:**以下分辨率以根卷为例。您还可以在辅助卷上执行以下步骤。

要解密您的 Amazon EBS 卷,请完成以下步骤:

  1. 创建加密根卷的快照,或创建包含加密卷的实例的亚马逊机器映像 (AMI)。
    **注意:**最佳做法是在执行任何重大任务之前使用快照和 AMI 来备份资源。
  2. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台。
  3. 停止包含加密根卷的实例。
  4. 在 Storage(存储)选项卡上,记下根设备的名称,然后选择 Volume ID(卷 ID)。
    **注意:**根设备因 AMI 而异。
  5. 选择 Actions(操作),然后选择 Detach Volume(分离卷)。
  6. 选择 Detach(分离),然后记下可用区。
  7. 在与原始实例相同的可用区中启动救援实例。
    **注意:**使用与启动原始实例时使用的操作系统 (OS) 相似的操作系统 (OS)。
  8. 选择 Volumes(卷),然后选择加密的根卷。
  9. 选择 Actions(操作),然后选择 Attach volume(挂载卷)。
  10. 对于 Instance(实例),选择救援实例 ID。
  11. 对于 Device name(设备名称),选择 /dev/xvdf 或 /dev/sdf。
  12. 在与原始加密卷相同的可用区中创建新的未加密卷。
    **重要事项:**为避免数据丢失,请确认您的新卷大小大于加密卷的大小。
  13. 将新的未加密卷作为 /dev/xvdg 或 /dev/sdg 挂载到救援实例。
  14. 连接到救援实例。然后,运行 lsblk 命令,确认根设备和挂载卷是否存在:
lsblk

输出示例:

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. 要将数据从原始加密卷移动到新的未加密卷,请以 sudo 或根用户身份运行 dd 命令:
dd if=/dev/xvdf of=/dev/xvdg bs=4096 status=progress

**注意:**在上述命令中,输入文件为 /dev/xvdf,输出文件为 /dev/xvdg。数据传输时间因卷和实例的大小和类型而异。 将新的未加密的 /dev/xvdg 卷与救援实例分离。然后,将其作为 /dev/xvda 或 /dev/sda1 挂载到原始实例。 连接到原始实例,确认该实例已读取新的未加密根卷。 从 Amazon EC2 控制台中,选择原始实例,然后查看该卷的属性,确认根卷未进行加密。
**注意:**您可能需要重启或停止并启动实例,才能将分区更改注册到内核。 对原始实例上的其他加密卷重复该过程,以创建未加密的克隆卷。 终止救援实例。

AWS 官方已更新 1 年前