如何在 Debian 启动后使用一个密码挂载多个 VeraCrypt 卷?

如何在 Debian 启动后使用一个密码挂载多个 VeraCrypt 卷?

所以我有多个硬盘用相同的密码加密,而不必多次输入密码,我想将其设置为在启动后自动显示一个密码框,让我输入密码一次然后安装全部加密的硬盘,然后安全地从缓存/内存中删除密码。

能以某种方式做到这一点吗?如果无法通过 GUI 实现,那么可以通过脚本实现吗?我使用的是带 KDE 的 Debian 9.1。

答案1

该脚本有效:

read -s password
echo $password | sudo veracrypt --text --mount --stdin --non-interactive /dev/sdb /mount/drive_b
echo $password | sudo veracrypt --text --mount --stdin --non-interactive /dev/sdc /mount/drive_c
...etc
password=00000000000000000000

我不确定这有多安全但比使用 --password 选项更好因为它显示在ps

答案2

至少在 VeraCrypt 1.21 中,“自动挂载设备”功能仍然可用。

UI 中有一个可用的按钮,或者以下命令将要求输入一次密码/密钥文件/PIM,并自动挂载多个卷(如果存在):

"VeraCrypt.exe" /auto devices /history n /cache n /quit

答案3

在 TrueCrypt 中,这是可能的。例如,如果在登录时加载了 4 个卷,并且这些卷具有相同的密码,则只需在文本框中填写一次密码。显然,此功能已在 VeraCrypt 中被故意删除。我不明白为什么,因为如果您想避免这种行为,您可以为您的卷设置不同的密码。

我发现这非常不方便,所以尽管存在安全风险,我还是决定继续使用 TrueCrypt。

答案4

我所做的是在我的 PC 启动时运行一个 bat 文件,等待第二和第三个驱动器安装到我的系统上,然后使用命令行擦除缓存,然后您可以使用第三个程序来隐藏命令提示符(如果您愿意),例如:hstart.exe

批处理文件每十秒循环将变量加 1,如果达到 60(大约 600 秒),批处理文件就会关闭,因此它不会永远在后台运行。

文本DriveExists.txt文件甚至不需要任何内容​​,它只是需要存在。

@echo off
echo this window will close when the H and J drives exists
set LoopCount=1
:waitLabel
IF not exist H:\DriveExists.txt (
    timeout 10 /nobreak > nul
    set /a LoopCount=%LoopCount%+1
    if %LoopCount% equ 60 ( goto endOfScriptLabel )
    goto waitLabel
)
echo past H
set /a LoopCount=0
:waitLabelTwo
IF not exist J:\DriveExists.txt (
    timeout 10 /nobreak > nul
    set /a LoopCount=%LoopCount%+1
    if %LoopCount% equ 60 ( goto endOfScriptLabel )
    goto waitLabelTwo
)
echo past J
REM the following if is only to indent the items run after mounting volumes
IF exist H:\DriveExists.txt (
    REM other code removed for example.
    cd C:\Program Files\VeraCrypt
    veracrypt /w
)
:endOfScriptLabel
@echo on

相关内容