web-dev-qa-db-ja.com

Ubuntu 18.04クレビスによるセカンダリディスクの復号化

暗号化されていないルートボリュームで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の愛のために、私が間違っていることを教えてもらえますか?

1
MeatLips

ディスクのUUIDが正しくないことがわかりました。これを正しいものに更新すると、この手順全体が完全に機能しました。

1
MeatLips

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

起動時に、ボリュームをマウントするためのパスワードを求められます。パスワードを入力したくない場合は、キーファイルを使用できます。

追伸:気にしないでください。ネットワークからパスキーを取得する必要があることに気づきました。

0
Bernard Wei