web-dev-qa-db-ja.com

パスワードを入力せずにcryptsetupを機能させる

Cryptsetupを使用して外付けハードドライブを暗号化しました。

私はこのように暗号化されたハードドライブを使用することに問題はありません:

/sbin/cryptsetup luksOpen /dev/sdc1 backup   
// typing password   
// mounting the partition   
// doing something   
// unmounting the partition  
/sbin/cryptsetup luksClose /dev/mapper/backup

しかし、私の次の要件は、パスワードを入力せずにそれを実行できるようにすることでした。

次に、次のコマンドを使用して、パスワードのハッシュを使用してバイナリファイルを作成しました。

hashalot -n 32 ripemd160 > volume_key 

その後:

/sbin/cryptsetup luksOpen -d volume_key /dev/sdc1 backup

しかし、私はこのエラーを受け取ります:

Command failed: No key available with this passphrase.

アイデアはありますか?

4
Daniele

私が答えを探したようにあなたがここに着陸した場合、それは次のようになります:

次に、次のコマンドを使用して、パスワードのハッシュを使用してバイナリファイルを作成しました。

 hashalot -n 32 ripemd160 > volume_key 

そして、あなたはしなければなりません:

 /sbin/crypsetup luksAddKey volume_key 
 Enter any passphrase:   <- enter current passphrase aka: "typing password"

これで、cryptsetupはファイル(volume_key)を別のキーとしてボリュームに追加しました。技術的には、このキーに必要な任意のファイルを使用できます。 jpg画像、またはランダムなテキストでいっぱいのファイルですら。

最後に、今あなたはすることができます

 /sbin/cryptsetup luksOpen -d volume_key /dev/sdc1 backup

cryptsetupは、キーファイルが存在する場合はそれを使用し、ファイルが見つからない場合はパスフレーズを要求します。

3
ndasusers

cryptsetupのマニュアルページでは、-dパラメータについて次のように提案されています。"キーファイルを介して新しいキーを設定する場合は、luksFormatまたはluksAddKeyに位置引数を使用する必要があります。"

1

Volume_keyファイルの内容はcryptsetupによってハッシュされるので、自分でハッシュする必要はありませんか?

1
JanC