![为什么加密分区时 ssh 会中断?](https://linux22.com/image/222460/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8A%A0%E5%AF%86%E5%88%86%E5%8C%BA%E6%97%B6%20ssh%20%E4%BC%9A%E4%B8%AD%E6%96%AD%EF%BC%9F.png)
我正在尝试在我的 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
) 替换为您设置中的实际设备名称:
确定可用空间:使用
lsblk
或fdisk -l
命令来确定驱动器上的可用空间。对驱动器进行分区:使用
fdisk
或gdisk
在剩余空间的驱动器上创建分区。sudo fdisk /dev/sdx
在
fdisk
界面中:- 按
n
建立新分区。 - 按
p
选择主分区。 - 接受分区号和起始扇区的默认值。
- 指定结束扇区以使用剩余空间。
- 按
w
写入更改并退出。
对第二个驱动器 ( ) 重复这些步骤
/dev/sdy
。- 按
安装
mdadm
:如果您还没有安装,请安装mdadm
一个用于在 Linux 中管理 MD(软件 RAID)设备的工具。sudo apt-get update sudo apt-get install mdadm
创建 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
文件中。