cryptsetupを使ってみている。

使ってみているのだが実は正しい使い方ではない気がしてないらない。
まぁ、使えてるからいいのだ。


前までは大事なデータはmountのencryptionオプションあたりで暗号化したパーテションに入れてたのだが、できりゃファイルがいいな、とか思って色々やっててみつけたのがcryptsetup
使い方を忘れぬように備忘録。

how2

暗号化したデータをいれるためのファイルを用意。
適当に

$ dd if=/dev/zero of=hoge bs=1M count=64

でおっけ。hogeは適当なファイル名に。
とりあえず64M程度。
ちいさくてもいいけど小さすぎるとmkfsできない可能性があるのである程度を。


で、cryptsetupはデバイスを指定してやらないといけないらしいのでループバックマウント

# losetup /dev/loop5 hoge

hogeは先ほど作ったファイル。
ホントは開いてるループバックデバイスを探してやらないといけないのだろうけど適当(ぉ


で、肝心のlosetup

# cryptsetup create fuga /dev/loop5

パスフレーズを求められるので適当に。
fugaもやっぱ適当な名前で。
この名前で/dev/mapper/以下にデバイスが作られる。以後はこいつに。


とりあえずファイルシステム作らんとあかんので適当にext3あたりでフォーマット

# mkfs.ext3 /dev/mapper/fuga


あとは適当にmountすりゃおっけ。

# mkdir /mnt/mydisk
# mount /dev/mapper/fuga /mnt/mydisk
# ls -l /mnt/mydisk
合計 12
drwx------ 2 root root 12288 2007-12-02 12:48 lost+found/

まぁ、こんな感じで。


終了は逆手順で

# umount /mnt/mydisk
(# rmdir /mnt/mydisk)
# cryptsetup remove fuga
# losetup -d /dev/loop5


removeじゃなくてluksCloseとかOpenで操作すべきなんだろうけどなんか色々エラーでてアレなので毎度create/removeしてたり...。

ということで適当にスクリプトでも書く。

mount.mydisk

sudo losetup /dev/loop5 ~/hoge || exit
sudo cryptsetup create fuga /dev/loop5 || exit
sudo mkdir -p /mnt/mydisk || exit
sudo mount /dev/mapper/sdisk /mnt/mydisk


umount.mydisk

sudo umount /mnt/mydisk
sudo rmdir /mnt/mydisk
sudo cryptsetup remove fuga
sudo losetup -d /dev/loop5


名前は適当に変えるべし。あくまでhoge,fuga,mydiskは説明用。
あとはここにsshの鍵でもなんでもいいけど重要なファイル置いておけばハードディスク盗まれても(一応は)安心。