[pkg-cryptsetup-devel] Bug#866786: unlock all crypto devices in cryptroot-unlock (remote SSH-based unlocking)
Antoine Beaupré
anarcat at debian.org
Tue Jul 4 14:47:36 UTC 2017
On 2017-07-04 10:34:04, Guilhem Moulin wrote:
> On Mon, 03 Jul 2017 at 19:08:52 -0400, Antoine Beaupré wrote:
>> On 2017-07-03 23:21:25, Guilhem Moulin wrote:
>>> Actually I came up with a better solution that doesn't rely on the
>>> behavior of dropbear. It passes my tests, but perhaps you could try it
>>> as well? Then we won't have to go through this again after the Buster
>>> release ;-)
>>
>> Hehe.. That's a great idea! Any chance this could hit stretch as well?
>> Or would that be... stretching it? *rimshot*
>
> Aha :-) If there is enough interest I guess we could maintain a
> backport as well.
That may make more sense yes.
>>> When its standard input is a TTY, the script should now wait until all
>>> configured devices are unlocked, and prompt for passphrases when
>>> required. Since it exits on its own once it has detected that there is
>>> nothing more to to, SSH sessions should be terminated cleanly (ie, no
>>> hang), at least when there no shell involved. (Well hang might still
>>> occur as polling is racy, but it's merely convenience at stake and it
>>> seems to work fine here with boot and resume.)
>>>
>>> When its standard input is not a TTY the behavior is unchanged: the
>>> whole standard input is dumped to the askpass FIFO, regardless of NUL
>>> bytes or newlines (the TTY prompt above doesn't work with binary
>>> passphrases), then the script exits. Hence one needs to invoke it as
>>> many times as there are devices to unlock.
>>
>> from my perspective, I ssh into the box and call the script. it asks me
>> for the passwords one after the other without any noticable delay, than
>> the scripts exits and shortly after the ssh session is killed.
>
> Great, thanks for the feedback! The new workflow will be documented in
> Sec. 8 “Remotely unlock encrypted rootfs” of README.Debian.
>
> https://anonscm.debian.org/cgit/pkg-cryptsetup/cryptsetup.git/diff/debian/README.Debian?id=d80853c26f67a31c769e6fc1859803d9a602ca96
Excellent.
>> thanks, i guess this is done? or do we need to document the "initramfs"
>> tag in crypttab better?
>
> Anything in particular you have in mind? crypttab(5) currently reads:
>
> initramfs
> The initramfs hook processes the root device, any resume devices
> and any devices with the “initramfs” option set. These devices
> are processed within the initramfs stage of boot. As an
> example, that allows the use of remote unlocking using dropbear.
I did see that, but only after you mentioned it. I guess the problem is
the documentation is kind of split up all over the place. There's that
README.Debian, then there's:
* /usr/share/doc/cryptsetup/README.initramfs.gz
* "Some keyscripts have an own README file at
/usr/share/doc/cryptsetup/"
* crypttab(5), cryptdisks_start(8) and cryptdisks_stop(8)
* /usr/share/doc/cryptsetup/FAQ.gz
* /usr/share/doc/dropbear-initramfs/README.initramfs
Which one is relevant here? Probably the last one? Who knows! :) In this
case, I should have read README.initramfs and crypttab(5) but even the
latter is not clearly outlined in Sec. 8 of the README.Debian...
> […]
> keyscript
> The executable at the indicated path is executed with the key
> file from the third field of the crypttab as its only argument
> and the output is used as the key. This also works with
> encrypted root filesystems via initramfs if the executable is
> self-contained (i.e. an executable which does not rely on any
> external program which is not present in the initramfs
> environment).
> […]
> WARNING: With systemd as init system, this option might be
> ignored. At the time this is written (December 2016), the
> systemd cryptsetup helper doesn't support the keyscript option
> to /etc/crypttab. For the time being, the only option to use
> keyscripts along with systemd is to force processing of the
> corresponding crypto devices in the initramfs. See the
> 'initramfs' option for further information.
Not sure how or if this applies to my current use case. :)
> See you at DebConf in a month, I guess ;-)
Definitely :)
A.
--
Le féminisme n'a jamais tué personne
Le machisme tue tous les jours.
- Benoîte Groulx
More information about the pkg-cryptsetup-devel
mailing list