cryptsetup
ユーティリティは、luksChangeKey
オプションを使用して既存のパスフレーズを変更するオプションを提供します。これには、マニュアルページで提案されている古いキーファイルとその他のパラメータが必要です。
luksChangeKey <device> [<new key file>] Changes an existing passphrase. The passphrase to be changed must be supplied interactively or via --key-file. The new passphrase can be supplied interactively or in a file given as positional argu‐ ment. If a key-slot is specified (via --key-slot), the passphrase for that key-slot must be given and the new passphrase will overwrite the specified key-slot. If no key-slot is specified and there is still a free key-slot, then the new passphrase will be put into a free key-slot before the key-slot con‐ taining the old passphrase is purged. If there is no free key-slot, then the key-slot with the old passphrase is overwritten directly. WARNING: If a key-slot is overwritten, a media failure during this operation can cause the overwrite to fail after the old passphrase has been wiped and make the LUKS container inaccessible. <options> can be [--key-file, --keyfile-offset, --keyfile-size, --new-keyfile-offset, --new-key‐ file-size, --key-slot, --force-password, --header].
実行すると、パスフレーズの入力を求められます。しかし、私は別のキーファイルを使用する必要があります。
新しいキーファイルを提供するオプションはどこにありますか?マニュアルページから、私は理解することができます、
--keyfile
:古いキーファイル--keyfile-offset
:古いキーファイルのオフセット--keyfile-size
:古いキーファイルのオフセット--new-keyfile-offset
:新しいキーファイルオフセット--new-key‐file-size
:新しいキーファイルのサイズluksAddKey(新しいキー)を使用してからluksRemoveKey(前のキー)を使用してパスフレーズを変更する別の方法があることを私は知っています。しかし、私は特にluksChangeKeyを求めています。
@studiohackが投票した理由がわからない/私の答えを削除した(そして、ここに直接通信を送信する方法がわからず、superuser.comからの支払いがないため、ここでの時間は限られています)。
しかし、ANSWERは正しかった/正しいです-実際のバージョンのcryptsetup1.7.3では機能しない可能性があるという通知がある場合のみ:
そして、luksAddKey OR luksChangeKeyコマンドを使用する場合は独立しています-パラメーターは同じように機能します:
それは例えばでうまく働いていました。 cryptsetup1.6.6を使用したDebianJessieでのこの例(昨年見つけたリファレンスはもうわかりませんでした):
echo -n "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | \
cryptsetup luksAddKey --key-file - --keyfile-offset 0 --keyfile-size 32 \
--new-keyfile-offset 32 --key-slot 0 /dev/sda2
しかし、cryptsetup1.7.3を使用したDebianStretchでは動作しなくなったようです(残りの情報は質問ではなく、実際の動作の説明でした)。
答えはあなたの質問にあります、ただ注意深く読んでください:
5つの名前付きパラメーター(古いキーファイル用に3つ、新しいキーファイル用に2つ)があり、さらに1つ欠落している名前なしパラメーター:
luksChangeKey <device> [<new key file>]
したがって、コマンド(すべてのオプションを使用する場合)は次のようになります。
luksChangeKey <device> --keyfile <oldkeyfile> --keyfile-offset <oldoffset> --keyfile-size <oldsize> --new-keyfile-offset <newoffset> --new-key‐file-size <newsize> <newkeyfile>
^^^^^^^^^^^^
そして、より可能性の高い短い形式:
luksChangeKey <device> --keyfile <oldkeyfile> <newkeyfile>
^^^^^^^^^^^^