我的目标是将该 USB 的解锁延迟到系统以ssh.service
活动状态启动之后,并且在键入之前永远不会超时。然而超时仍然发生并继续进行getty
。一旦出现密码提示,您就无法输入密码(未附加 TTY)
我一直在复制via 中的auto
结果。我也一直在寻找是否可以连接到控制台 TTY。/etc/crypttab
systemd-cryptsetup-generator
systemctl list-dependencies
sysinit.target
systemd-ask-password-console.path
/etc/crypttab
crypt /dev/disk/by-label/crypt none nofail,noauto,timeout=0,x-systemd.device-timeout=0
/etc/systemd/system/finish.target
[Unit]
Description=Mount crypt USB
Requires=multi-user.target
[email protected] systemd-ask-password-console.path
After=ssh.target
[email protected]
[Install]
WantedBy=multi-user.target
如果我这样做Wants=mnt-crypt.mount
或者Wants=dev-mapper-crypt.device
它实际上尊重超时,但仍然不接受密码输入。
ls -la /etc/systemd/system/multi-user.target.wants/finish.target
lrwxrwxrwx. 1 root root 33 Jun 6 00:04 /etc/systemd/system/multi-user.target.wants/finish.target -> /etc/systemd/system/finish.target
systemctl list-dependencies
● ├─finish.target
● │ ├─systemd-ask-password-console.path
● │ ├─[email protected]
│ └─...
如果我这样做,systemctl restart systemd-ask-password-console.service
我实际上可以开始输入密码,并且它在执行终端和屏幕上的控制台上都按预期工作(/dev/tty1
)。
似乎有某种关系阻止了systemd-ask-password-console
初始启动后的启动,因为它很乐意稍后启动systemd-ask-password-wall
。
同样,如果我复制它并将其编辑为新服务,它也会启动该systemd-ask password --watch --console
过程。