LUKS - изменить keyFile с помощью cryptsetup

1123
user2255299

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 .

0
В первой строке вашей цитаты, кажется, есть ответ. grawity 6 лет назад 0
Да. Виноват. Благодарю. user2255299 6 лет назад 0

1 ответ на вопрос

2
Reiner030

Понятия не имею, почему @studiohack отклонил / удалил мой ответ (и я не знаю, как отправить прямые сообщения здесь, и мне не платит superuser.com, поэтому мое время здесь ограничено).

Но ОТВЕТ был / прав - только с уведомлением о том, что он НЕ МОЖЕТ РАБОТАТЬ для реальной версии cryptsetup 1.7.3:

И это независимо, если я использую команду luksAddKey ИЛИ luksChangeKey - параметры РАБОТАЮТ ЖЕ ПУТЬ:

Он работал нормально, например, в этом примере с Debian Jessie, использующим cryptsetup 1.6.6 (больше не знал ссылку, которую я нашел в прошлом году):

echo -n "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | \ cryptsetup luksAddKey --key-file - --keyfile-offset 0 --keyfile-size 32 \ --new-keyfile-offset 32 --key-slot 0 /dev/sda2 
  • ключевой файл: - (STDIN)
  • используя ключ: ггггггггггггггггггггггггггггггггггг (32 байта от смещения до 0)
  • добавление ключа: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (размер 32 байта от смещения байта 32)

Но, похоже, он больше не работает с Debian Stretch с использованием cryptsetup 1.7.3 (а остальная информация была НЕ ВОПРОСОМ, а утверждением о реальном поведении).