我正在尝试直接通过 SSH 打开 LUKS 驱动器。
ssh root@XX "cryptsetup luksOpen /dev/sdb3 secure
但是,没有提示密码,它就卡住了。
debug1: Sending command: cryptsetup luksOpen /dev/sdb3 secure
debug2: channel 1: request exec confirm 1
debug2: callback done
debug2: channel 1: open confirm rwindow 0 rmax 32768
debug2: channel 1: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 1
debug2: exec request accepted on channel 1
这是不可能的事情吗?
答案1
为了使提示起作用,您需要添加-t
.
ssh -t root@host cryptsetup luksOpen /dev/thing luksthing
(如果您只是在密码“卡住”等待输入时键入密码,它也可以工作,但它会在您的本地终端中回显。)
或者,通过管道传递密码也足够有效:
echo -n 'password' | ssh root@host cryptsetup luksOpen /dev/thing luksthing
为了防止它泄漏到进程列表和命令历史记录中,最好将其放在文件中。
ssh root@host cryptsetup luksOpen /dev/thing luksthing < passwordfile
此时,您不妨使用真正随机的密钥文件,而不仅仅是简单的密码。