暗号化されていないルートボリュームでUbuntu 18.04を実行します。私がこれを行うために必要なことは、それで結構です。しかし、セカンダリディスクをマウントして復号化する必要があります。 Red Hatの指示に従います ここ UbuntuとNBDE/Clevis&Tangのすべてのgoogle検索は私をそこに連れて行ってくれるので。
*この手順は、RHEL 7.xおよびCentOS 7.xで問題なく機能します。
私は、パーティション分割(ここではLVMを使用しない)、暗号化、およびtangサーバーへのバインドについて説明しました。
まず、パッケージをインストールします。
apt-get install clevis clevis-systemd clevis-dracut clevis-luks
次に、ディスクをセットアップしました
echo '<TEMPPASS>'| cryptsetup --verbose luksFormat /dev/xvdc1
clevis bind luks -f -k- -d /dev/xvdc1 tang '{"url":"http://<IP>:<PORT>","thp":"<KEY>"}' <<< "<TEMPPASS>"
echo "<TEMPPASS>" | cryptsetup luksRemoveKey /dev/xvdc1
clevis luks unlock -d /dev/xvdc1 -n testluksvol
そして、ボブはあなたのおばさんです。次に、フォーマットして、マウントできることを確認します。
mkfs.ext4 /dev/mapper/testluksvol
mount /dev/mapper/testluksvol /testluksvol
ここまでは順調ですね。指示に従って、_netdevを使用して/ etc/fstabにエントリを追加します。
/dev/mapper/testluksvol /testluksvol ext4 defaults,_netdev 0 2
/ etc/crypttabにエントリを追加します。これも_netdevを使用して行いますが、Ubuntu crypttabがcrypttabマンページにないためサポートしていないと思いましたが、実際はそうです。ここでは、世界クラスのボロネーゼではなく、シェフBoy'R'Dを作成しています。
testluksvol UUID=<DEVICE UUID> none _netdev
最後に、clevis-luks-askpass.pathを有効にします
systemctl enable clevis-luks-askpass.path
その後、再起動します...そしてそれは機能しません。/var/log/syslogを見て、これを見てください:
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start timed out.
Jun 22 23:06:22 ubuntu03 systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Cryptography Setup for testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for dev-mapper-testluksvol.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for /testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Remote File Systems.
Jun 22 23:06:22 ubuntu03 systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: testluksvol.mount: Job testluksvol.mount/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for File System Check on /dev/mapper/testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-mapper-testluksvol.device: Job dev-mapper-testluksvol.device/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Local Encrypted Volumes.
Jun 22 23:06:22 ubuntu03 systemd[1]: cryptsetup.target: Job cryptsetup.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start failed with result 'timeout'.
これは少しイライラすることを超えています。クレビスと唐のサポートがあるはずだったので、特に18.04を取得しました。 tangサーバーを実行している既存の環境に統合したかったのです。
誰か、Linus Torvaldsの愛のために、私が間違っていることを教えてもらえますか?
ディスクのUUIDが正しくないことがわかりました。これを正しいものに更新すると、この手順全体が完全に機能しました。
LUKS暗号化ディスクを作成、暗号化、または復号化するには、cryptsetupを使用するだけです。
たとえば、空のディスクパーティションの例として使用するtest.imgを割り当てます。 LUKSで暗号化されたディスクボリュームを作成してフォーマットし、マウントします。
fallocate -l 1G test.img
Sudo cryptsetup create test test.img
Enter passphrase for test.img:
Sudo mkfs -t ext2 /dev/mapper/test
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 5f58a7a0-6139-4ae3-b423-be86dbc90874
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Sudo mount /dev/mapper/test /mnt
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/test 1032088 1284 978376 1% /mnt
その後、/ mnt /にマウントされた復号化されたボリュームを使用できます。復号化されたボリュームをアンマウントして削除します。
Sudo umount /mnt
Sudo cryptsetup remove test
後で暗号化ボリュームのマウントを使用する必要がある場合は、次の手順を実行してください。
Sudo cryptsetup create test test.img
Enter passphrase for test.img:
Sudo mount /dev/mapper/test /mnt
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/test 1032088 1284 978376 1% /mnt
パスワードプロンプトで自動的にマウントする場合は、以下を追加します。
mv test.img /
Sudo vi /etc/crypttab
次の行を追加します
/mnt /test.img none luks
起動時に、ボリュームをマウントするためのパスワードを求められます。パスワードを入力したくない場合は、キーファイルを使用できます。
追伸:気にしないでください。ネットワークからパスキーを取得する必要があることに気づきました。