Файл зажигания в кодировке Base64 искажается

Для u-дисков версии 2.6.4 и выше

Примечание.:Я не проверял это. Когда-нибудь я получу udisks 2.6.4 (всякий раз, когдаhttps://github.com/NixOS/nixpkgs/pull/41723будет портирован на стабильную версию NixOS ).

Обновление:Теперь у меня есть udisks 2.8.0, поэтому я могу протестировать свое решение. Единственное, что я пропустил, это удаление завершающей новой строки из вывода pass (...) | head (...). Чтобы обрезать это, либо используйте флаг -nс echo, либо добавьте | tr -d '\n'к выходу head. Я отразил это в двух моих решениях ниже.

Общее (небезопасное )решение

Используйте флаг --key-fileи замените ключевой файл строкой пароля. Чтобы разблокировать /dev/sdbс помощью пароляhunter2:

udisksctl unlock --block-device /dev/sdb --key-file <(echo -n "hunter2")

Передача конфиденциальных данных напрямую через командную строку небезопасна, поэтому следует избегать этого метода.

passреализация

Вместо этого извлеките строку пароля с помощью pass thumbdrive-password | head -n 1, обрежьте завершающую новую строку и подставьте ее вместо ключевого файла:

udisksctl unlock \
    --block-device /dev/sdb \
    --key-file <(pass thumbdrive-password | head -n 1 | tr -d '\n')
1
14.05.2020, 20:36
1 ответ

Проблема решилась сама собой после повторной попытки кодирования.

Но у меня есть подозрение, почему это произошло. Я сравнил исходный файл и загруженную версию на моем ПК с помощью хэшей, и они определенно не были одинаковыми. Таким образом, объяснение может заключаться в том, что моя загруженная версия каким-то образом была повреждена. С тех пор я не смог воспроизвести эту проблему.

Я также внимательно изучил свою виртуальную машину Fedora CoreOS -. Кажется, что процесс загрузки выглядит примерно одинаково независимо от того, есть ли действующий ignitionконфиг или вообще нет ignition. Я подозреваю, что недействительная -конфигурация ignitionбудет просто проигнорирована, и процесс загрузки продолжится без нее.

0
28.04.2021, 23:14

Теги

Похожие вопросы