Portál AbcLinuxu, 5. dubna 2026 17:00
sda2_crypt UUID=bba1f061-d95f-4a86-a4b3-73978d296483 /dev/disk/by-uuid/005B-2A9F:/keyfile:30 luks,keyscript=/lib/cryptsetup/scripts/passdevPokus 2:
sda2_crypt UUID=bba1f061-d95f-4a86-a4b3-73978d296483 /dev/disk/by-uuid/005B-2A9F:/keyfile:30 luks,keyscript=/lib/cryptsetup/scripts/passdev,initramfssrc,src,src
update-initramfs -uv
Což je známo už 12+ let. 12 let stáří představuje v případě Debianu nejnovější „bleeding-edge“ „verzi“, což znamená, že i 12+ let staré informace by ještě mohly být použitelné.
Každopádně: TPM2 prostě funguje. Prapodivné triky s flashkami nejsou zrovna ideální.
rd.luks.key=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX=/path/to/keyfile:UUID=ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZa timeout
rd.luks.options=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX=keyfile-timeout=10sTj. místo kernel parametru GRUB_CMDLINE_LINUX="cryptdevice=UUID=d3ab738e-3a7b-4fca-96bc-32d01a3c3d38:system" použít:
GRUB_CMDLINE_LINUX="rd.luks.name=d3ab738e-3a7b-4fca-96bc-32d01a3c3d38=system rd.luks.name=f9a3b527-479a-4600-8007-036ab55a5262=system2... rd.luks.key=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX=/path/to/keyfile:UUID=ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ rd.luks.options=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX=keyfile-timeout=10s"Aspoň podobně to jedu v ArchLinux, Debian 12 údajně potřeboval přejít na dracut, ale co tak koukám, tak Debian 13 / Trixie by podporu pro toto mělo mít.
Jak odemykáš luks? Přes encrypt? Nebo mnohem lépe přes sd-encrypt?jen reklama?
Please note that there are several independent cryptsetup wrappers with their own crypttab format. This manpage covers Debian's implementation for initramfs scripts and SysVinit init scripts. systemd brings its own crypttab implementation. We try to cover the differences between the systemd and our implementation in this manpage,
Je nutné použiť správny syntax. Keďže debian používa systemd-cryptsetup nie pôvodný cryptsetup. Z tohto dôvodu sa líši syntax crypttabu.
dm_crypt-0 UUID=80edd8a0-51ef-43ac-b2c1-62ababd1809a /luks-keyfile:UUID=09179c27-02cd-43a8-a59b-fd6eb8ef9e32 luks,keyfile-timeout=10 Tento syntax mi fungoval v qemu s debianom 14. Odpojenie USB s kľúčom vyvolalo požiadavku na heslo k šifrovanému oddielu. Netestoval som to voči dynamickej detekcii USB. V qemu bolo usb definované cez usb-storagem, nie scsi-hd.
VM s debian 13 ide presne tak isto ako v debian 14. Problém je odlišnosťach v cryptsetup a systemd-cryptsetup.
/etc/crypttab přecházet kvůli tomu na systemd-cryptsetup není potřeba.
disk2 UUID=d77df71a-c37d-4c5e-bfb6-9c48a62354ee /root/dpw luks,nofail disk3 UUID=64a0fc06-d025-483c-b368-51383150b4d0 /root/dpw luks,nofail disk4 UUID=f17d3583-574b-4214-af4c-001f8519fe25 /root/dpw luks,nofailSoubor /root/dpw má práva 600 a obsahuje heslo jako holý text bez newline. Mám to tak už léta a funguje to bez problémů. Nedávno jsem instaloval arch na jeden novější počítač a zkusil jsem místo grubu nasadit sd-boot a sd-encrypt a funguje to taky. Jenom je potřeba změnit ty volby pro kernel. Místo starého:
cryptdevice=UUID=a332c454-4fa1-4306-a82d-3334b46f10c5:sysdiskse to zadává jako:
rd.luks.name=a332c454-4fa1-4306-a82d-3334b46f10c5=sysdiskFurt jakési novoty
Zrovna včera jsem se kdesi dočetl, že když máš v počítači místo biosu uefi, tak už žádný bootloader není potřeba a uefi prý umí natáhnout linux bez něho
Otázka ale je, jestli by takový disk naběhl když by se zapojil do jinačího PC s jinačím uefi. Pokud ne, bylo by to teda pěkně naprd.
Furt jakési novotyTo zavádzanie Linuxu (kernel+initrd) bez boot loadera v UEFI sa obvykle deje pomocou UKIFY čo je vo výsledku UEFI binárka obsahujúca kernel s initrd. Takže by v inom počítači stačilo vybrať namiesto štartu zavádzača štart daného UKIFY jadra. V prípade UEFI Secure Boot musí byť to UKIFY navyše podpísané kľúčom ktorý ti tá doska akceptuje.Zrovna včera jsem se kdesi dočetl, že když máš v počítači místo biosu uefi, tak už žádný bootloader není potřeba a uefi prý umí natáhnout linux bez něho
Otázka ale je, jestli by takový disk naběhl když by se zapojil do jinačího PC s jinačím uefi. Pokud ne, bylo by to teda pěkně naprd.
Jsem myslel, že Debian 13 má už také systemd-cryptsetup?
Třeba na Archu jsem na systemd-cryptsetup přešel už dávno, protože oproti staršímu cryptsetup umí otevřít všechny volume pomocí jednou zadaného hesla a nikdo se nedrbal s opatchováním staršího cryptsetup, aby to uměl také.
Zdar Max
Odemykání pomocí hesla, v /etc/crypttab mám:
sda2_crypt UUID=bba1f061-d95f-4a86-a4b3-73978d296483 none luks,discard,x-initrd.attach
Odemykání pomocí USB klíče, v /etc/crypttab mám:
sda2_crypt UUID=bba1f061-d95f-4a86-a4b3-73978d296483 /dev/disk/by-uuid/005B-2A9F:/keyfile:15 luks,keyscript=passdev
Odemykání pomocí USB klíče, fallback na heslo, v /etc/crypttab mám:
sda2_crypt UUID=bba1f061-d95f-4a86-a4b3-73978d296483 none luks,keyscript=/usr/local/sbin/keyscript-usb-or-passphrase1,initramfs,tries=5
Mohl by ses trochu rozepsat, jak odemknout kořen / pomocí systemd.cryptsetup pomocí klíče nebo hesla?
/boot mám nešifrovaný samostatný, kořen / mám šifrovaný luks.
Prikladám screen. V jednom VM je položka zakomentovaná. Posledný riadok /etc/crypttab je rovnaký aj v debian 13 a debian 14.
Prikladám screen. V jednom VM je položka zakomentovaná. Posledný riadok
/etc/crypttabje rovnaký aj v debian 13 a debian 14.
Problém je odlišnostech v cryptsetup a systemd-cryptsetup.
Ve třetím sloupci souboru crypttab má být.:
/dev/disk/by-uuid/UUID-USB:/keyfile ......... cryptsetup
/keyfile:UUID=UUID-USB .......... systemd-cryptsetup
Prostě někdo, kdo tvoří systemd rozhodl, že nebude dodržovat konvenci cryptsetup a udělá si to po svém. 
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.