anr*_*eff 9 server encryption administration automation systemd
我是一名长期的 Linux 用户,但我不太熟悉新的开发,尤其是。关于 Ubuntu 和系统(d)管理。
\n我有一台非常旧的 PC,我想将其用于文件服务器、Mercurial 存储库、FTP 和 WWW 服务器,以及我用 Django 制作的其他一些小型公司内部 Web 应用程序。 \n以前,这一切都运行在古老的 Fedora 上,未加密的磁盘,所有内容均从/etc/rc.local
.
我已经安装了新的硬盘,并安装了 Ubuntu 18.04 LTS。我现在正在恢复服务,但我也想改进。
\n首先,我希望有价值的数据(Django 数据库、文件服务器中的文件……)位于加密分区上。然而,我在磁盘加密方面的经验是,在启动过程中会要求您输入密码。我想避免这种情况,因为服务器不会连接显示器或键盘。\n其次,我想以更正式的(“Ubuntian”)方式管理服务。
\n/etc/fstab
。该机器装有 UPS,我预计很少运行上述程序(一年几次)。
\n目前的想法好不好?更好的方法来做到这一点?
\n如果好的话,如何实现?\n我当然可以走“完全DIY的方式”,用luks命令、iptables命令打开端口、直接调用服务的守护进程编写一个巨大的脚本,但我想学习这里有一些新的东西,并以正确的 Ubuntu 方式进行\xe2\x84\xa2 :)
\n欢迎任何指针或代码/脚本示例!
\nSim*_*ler 10
有一种简单且或多或少标准的方法可以在启动时解锁加密分区,而无需修改根分区。它需要dropbear
,busybox
和dropbear-initramfs
.
$ sudo apt install dropbear busybox dropbear-initramfs
Run Code Online (Sandbox Code Playgroud)
要busybox
在初始 RAM 磁盘中启用,请BUSYBOX=y
在 中进行设置/etc/initramfs-tools/initramfs.conf
。dropbear SSH 主机密钥存储在/etc/dropbear-initramfs
或/etc/dropbear/initramfs
文件夹中(自 Ubuntu 22.04 起)。
初始 RAM 盘中没有用户管理,因此只有拥有公钥的 root 用户才能/etc/dropbear-initramfs/authorized_keys
通过 登录ssh
。您可以添加任何公众或仅复制您的用户之一:
$ sudo cp ~/.ssh/authorized_keys /etc/dropbear-initramfs/authorized_keys
Run Code Online (Sandbox Code Playgroud)
警告:某些旧dropbear
版本不支持ed25519
密钥。
之后,需要更新初始 RAM 磁盘:
$ sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
就是这样,现在重新启动系统并等待对话框cryptsetup
。
重启后,系统将等待加密设备解锁。ssh
使用 root 用户和相应的私钥登录。
# From a remote system
$ ssh -i ~/.ssh/my_private.id_rsa root@my.system.waiting.for.a.password.com
Enter passphrase for key '~/.ssh/my_private.id_rsa':
BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
# cryptroot-unlock
Please unlock disk ubuntu-root:
cryptsetup: ubuntu-root set up successfully
# Connection to my.system.waiting.for.a.password.com closed by remote host.
Connection to my.system.waiting.for.a.password.com closed.
Run Code Online (Sandbox Code Playgroud)
并且系统将以解锁的根设备启动。
由 Sjors Provoost 提出 - 这种方法在 Ubuntu 22.04 中停止工作。背后的原因是dropbear-initramfs
. 在 20.04 中这个包是 a recommend
,在 22.04 中它是 a suggest
。因此,如果没有明确选择,将不会安装这些软件包。除此之外,dropbear
按键的位置从更改/etc/dropbear-initramfs
为/etc/dropbear/initramfs
--> 更新包含在答案中。
归档时间: |
|
查看次数: |
9595 次 |
最近记录: |