前段时间我安装了一个linux Pop-OS(基于Ubuntu 20.04)。到目前为止一切都很好。这是我的第二个游戏盒。我使用全盘加密安装了它,提示输入密码来解密和启动。
我现在想将这个东西转换为直接启动到 kodi 的媒体中心。它甚至没有连接屏幕。
那么问题来了,是否可以这样做,使得启动过程不需要输入加密密钥呢?
我知道这有点违背了加密的目的,原因实际上只是我想避免重新安装所有内容......
答案1
尽管您已经找到了自己的解决方案,即全部删除加密。有时进行加密很有用,但在不输入密码的情况下安装它(您的问题实际询问的是什么)。在我的设置中,我有一个磁盘,我在其中输入密码,但随后通过使用第一个磁盘上的密钥文件在没有密码的情况下安装第二个磁盘。
为此,您首先添加一个密钥文件:
cryptsetup luksAddKey /dev/sdaX /path/.large-keyfile
然后将以下内容放入/etc/crypttab
some_name_crypt UUID=123-uid-here-123 /path/.large-keyfile luks,discard
为了生成密钥文件,您可以执行以下操作:
dd if=/dev/random of=/path/.large-keyfile bs=1024 count=1024
确保它/path
位于磁盘的非加密部分。也许里面/boot
。或者通过其他方式可以获得的部分。
另请注意,您将需要重新生成启动文件,因为您已经编辑了crypttab
.
答案2
一次偶然的机会,我偶然发现了这个答案: https://askubuntu.com/a/1335140
这确实对我有用!
基本上:
- 从 USB 记忆棒启动
- 运行
sudo cryptsetup-reencrypt --decrypt /dev/sda2
(使用自己的驱动器)
然后我必须修复 fstab 以加快启动速度,但这确实有效!
答案3
我现在想将这个东西转换为直接启动到 kodi 的媒体中心。它甚至没有连接屏幕。
比您的方法更安全的替代方法是设置initramfs-dropbear
.启动时,将启动 SSH 服务器,您可以在其中连接到任何 SSH 客户端,例如 Windows 上的 PuTTY 或基于 Linux 的操作系统上的 OpenSSH。
去做这个:
- $
sudo apt install dropbear-initramfs
- 编辑
/etc/initramfs-tools/initramfs.conf
以包含设置的 IP 地址信息,例如IP=10.0.0.2::10.0.0.1:255.255.255.0:serverhost
- 可能/最好设置公钥身份验证
- 每当服务器(重新)启动时,通过 SSH 连接到 10.0.10.2 并输入您的 LUKS 解密密钥
答案4
如果加密的目的是防止小偷在服务器被盗时访问您的数据,则一种选择是以下组合:U形夹和唐。这允许在网络上启动的计算机从密钥服务器检索磁盘加密密钥。为此,您需要一些东西来充当密钥服务器。这里有很多选择,但像 Raspberry Pi Zero W 这样简单的东西也可以作为服务器。
唐是一个轻量级的密钥服务器。 U形夹是一个程序,结合德拉库特,可以创建可以解锁的启动镜像卢克斯通过从 Tang 服务器获取密钥来访问磁盘。
此设置可以保护数据免遭物理盗窃。这个想法是,小偷要么无法拿走(或找到)密钥服务器,要么即使他们拿走了,它也将被锁定(需要解锁才能启动的服务器)。如果攻击者能够进入您的网络,这也无济于事。