为什么加密分区时 ssh 会中断?

为什么加密分区时 ssh 会中断?

我正在尝试在我的 Ubuntu 服务器上为敏感用户数据创建加密分区。

服务器上设置了软突袭,我认为这就是导致问题的原因。

操作系统安装完毕后,我检查了要加密的分区,里面只有一个失物招领的文件夹。我删除了它并继续,成功加密了分区。

一切都很好,直到我尝试在两次安装中使用 SSH(我必须在救援模式下进​​行加密,以便光盘不被使用)。

我一直收到连接拒绝错误。

我决定在救援模式下重新连接并尝试重新安装开放的 SSH。

Systemctl 预设命令一直失败,服务无法启动。

无论我清除并重新安装多少次开放的 SSH,它都无法正常工作。

在我加密之前,该卷仅包含丢失和找到的文件夹,SSH 工作正常。我真的不明白这是怎么回事。

请有人告诉我如何使用大型加密分区设置我的磁盘,我可以在其中存储所有数据。

(我的服务器是非托管的,所以不幸的是,要求 ovh 在安装操作系统期间进行设置并不是一个真正的选择)

- - - 更新 - - -

我用不同的方法重试了。不幸的是,结果是一样的。 Luks 在 raid 上的 lvm 上很顺利。我选择了这个,这样我就可以在设置加密的同时保持 raid 阵列的运行。在添加加密之前,raid 卷的唯一内容是所谓的“丢失+找到”,我认为继续加密是安全的。一切看起来都很完美,直到我重新启动系统。主机简单地拒绝 22 上的连接。

—————— 产生问题所采取的步骤——————

1.  Set up Ubuntu 22.04 server with two volumes, both using software raid
2.  Create a Physical Volume with LVM on the RAID: then turn RAID array into a physical volume (PV) that LVM can use:

须藤 pvcreate /dev/md3

3.  Create a Volume Group (VG) on the PV: Next, create a volume group:

sudo vgcreate myvg /dev/md3

4.  Create a Logical Volume (LV) on the VG: can then create a logical volume on the VG:

sudo lvcreate -l 100%FREE -n mylv myvg

5.  Encrypt the LV with LUKS: can now encrypt the logical volume:

sudo cryptsetup luksFormat /dev/myvg/mylv

6.  Open the LUKS device: After setting up the encrypted LV, open it:

sudo cryptsetup open --type luks /dev/myvg/mylv cryptlv

7.  Create a filesystem: Finally, create a filesystem on the mapped LUKS device:

sudo mkfs.ext4 /dev/mapper/cryptlv

8.  Reboot server and attempt SSH connection.

答案1

我需要承认第一个突袭并适当地处理它。

为了正确安装,需要安装在具有 raid 1 的 40 GB 箔系统上,该系统跨三个驱动器进行镜像。

然后,我必须在不同的磁盘上设置两个新分区,使用全部剩余空间。

我发现其他人的说明很有用,所以我将它们写在这里:

当然,如果您想在 Ubuntu 机器的剩余空间上创建新的 RAID 1 分区,您可以按照以下步骤操作。请将设备名称 ( /dev/sdx, /dev/sdy) 替换为您设置中的实际设备名称:

  1. 确定可用空间:使用lsblkfdisk -l命令来确定驱动器上的可用空间。

  2. 对驱动器进行分区:使用fdiskgdisk在剩余空间的驱动器上创建分区。

    sudo fdisk /dev/sdx
    

    fdisk界面中:

    • n建立新分区。
    • p选择主分区。
    • 接受分区号和起始扇区的默认值。
    • 指定结束扇区以使用剩余空间。
    • w写入更改并退出。

    对第二个驱动器 ( ) 重复这些步骤/dev/sdy

  3. 安装mdadm:如果您还没有安装,请安装mdadm一个用于在 Linux 中管理 MD(软件 RAID)设备的工具。

    sudo apt-get update
    sudo apt-get install mdadm
    
  4. 创建 RAID 1 阵列:将X和替换Y为您在步骤 2 中创建的分区号。

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdxX /dev/sdyY
    

RAID 阵列的加密可以使用 Linux 磁盘上统一密钥设置格式 (LUKS) 来完成。 LUKS 是一种磁盘加密规范,可以帮助您实现这一目标。

首先,您需要确保已cryptsetup安装该实用程序。如果没有,您可以通过运行以下命令来安装它:

sudo apt-get update
sudo apt-get install cryptsetup

下一步是使用 LUKS 格式化 RAID 阵列。cryptsetup luksFormat为此使用命令。请注意,这将擦除 RAID 阵列上的所有数据:

sudo cryptsetup luksFormat /dev/md1

系统将提示您输入密码。请务必记住此密码,因为您将需要它来访问 RAID 阵列上的数据。

格式化RAID阵列后,需要打开LUKS分区:

sudo cryptsetup luksOpen /dev/md1 md1_crypt

系统将要求您输入在此luksFormat步骤中设置的密码。

打开 LUKS 分区后,您可以使用您选择的文件系统(例如 ext4)对其进行格式化:

sudo mkfs.ext4 /dev/mapper/md1_crypt

现在您可以挂载文件系统:

mkdir /mnt/secure_raid
mount /dev/mapper/md1_crypt /mnt/secure_raid

现在,所有写入的数据/mnt/secure_raid都将存储在加密的 RAID 阵列上。

请注意,系统重新启动后,LUKS 分区不会自动打开或挂载。您需要手动打开LUKS分区cryptsetup luksOpen,然后挂载它。如果希望开机自动打开并挂载LUKS分区,需要将其添加到/etc/crypttab/etc/fstab文件中。

相关内容