cryptsetup luksOpen 仅接受通过 ssh 的密码

cryptsetup luksOpen 仅接受通过 ssh 的密码

在安装 Gentoo 系统时,我遇到了一个奇怪的错误。

我的其中一个磁盘已加密,我已通过 ssh 完成了所有安装,因此我是否通过 ssh 输入了加密密码。

现在我直接在电脑上输入密码,也不行。 (我尝试了大约六次,甚至从另一台计算机插入键盘并再次尝试)。 ssh'ing 进入盒子后,解锁加密驱动器就可以正常工作,没有任何抱怨。

我想我必须再次重新格式化该加密驱动器,因为它旨在成为 /root 加密,因此在启动阶段不可能通过 ssh 进入计算机。 (重新格式化驱动器不是问题,过去五天我大概这样做了 20 次)。但为什么会出现这个问题呢?

是的,我的密码很长,大约有 30 个字符(数字、大写/小写、特殊字符),而且我在两台计算机上都使用德语键盘。但是将密码输入到 shell 中,实际看到它,会产生 - 至少从我所看到的 - 相同的结果。

答案1

在启动时,你有一个美式键盘布局直到加载另一个布局。如果您想在启动时拥有不同的布局,则需要将键盘映射包含在 initrd/initramfs 中。对于 Gentoo 来说,Gentoo 维基指示使用自定义键盘映射构建 initramfs。另请参阅中的讨论错误#218920

第二个问题是密码短语实际上是由字节而不是字符组成的。如果您在控制台和 SSH 会话中使用不同的编码,则可能难以键入正确的字节。例如,如果您的密码是swördfishUTF-8,那么您需要swördfish在latin-1终端上输入;如果您的密码swördfish采用 latin-1 格式,您将无法在 UTF-8 终端上输入它。我建议仅使用可打印的ASCII码密码中的字符。

相关内容