使用密码/密钥文件登录后如何在 OSX 上自动挂载 TrueCrypt 卷

Vfo*_*tta 6 encryption mount passwords truecrypt macos

我想做以下事情:

I. 登录我的帐户后,我希望 OSX 使用密码或密钥文件自动挂载我的 2 个卷(位于通过 FW800 连接的同一个外部硬盘上)。我没有看到任何有关管理员密码或卷密码的促销信息,因为我已经有了我的帐户密码。

问题 1:我怎样才能做到这一点?有没有我可以下载或复制的脚本?

问题 2:我必须使用密钥文件还是可以使用 OSX 的密码来自动挂​​载卷?

额外问题:在这种情况下使用密码与密钥文件的优缺点是什么?

以供参考:

目前我使用的是 OSX 10.8.3,我的 OSX 将通过 FileVault2 加密。

我不太担心任何密钥文件或密码都存储在我的 OSX 上,因为它会被加密。使用我记得的密码登录我的帐户时,我将使用双因素身份验证,并让 Yubikey 完成密码的其余部分。所以这将是一个非常安全的密码。强调文本

我不是技术人员,所以我需要易于理解的说明和或多或少的复制和粘贴脚本:)

谢谢!

Lri*_*Lri 4

首先在卷工具 > 更改卷密码中使卷使用密钥文件和空密码。然后将属性列表保存为~/Library/LaunchAgents/truecrypt.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>truecrypt</string>
    <key>ProgramArguments</key>
    <array>        
        <string>bash</string>
        <string>-c</string>
        <string>diskutil list | grep -Fq ' *1.1 GB ' &amp;&amp; exit # an asterisk indicates that the volume is mounted
disk=$(diskutil list | awk '/ 1.1 GB /{print $NF}')
[[ $disk ]] || exit
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''</string>
    </array>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

更改1.1 GB为 所示的卷大小diskutil list。可能有一些更好的方法来识别卷,但例如diskutil info /dev/disk1s4没有显示我测试的卷的 UUID。

launchctl load ~/Library/LaunchAgents/truecrypt.plist然后通过运行或注销并重新登录来启用代理。您必须卸载并加载 plist 才能对其应用更改。

注意事项:

  • truecrypt您登录后第一次运行该命令时,即使以 root 身份运行,它也会要求输入管理员帐户的密码。如果您频繁注销或重新启动,一段时间后这可能会变得烦人。
  • 挂载任何卷时都会触发 launchd 作业,因此如果您卸载 TrueCrypt 卷(但保持外部驱动器连接)并挂载其他卷,则 TrueCrypt 卷将再次挂载。

或者您可以使用 FileVault 加密该卷吗?如果您选中“在我的钥匙串中记住此密码”,只要登录钥匙串解锁,该卷就会自动安装。

这也意味着,如果登录钥匙串已解锁,有权访问您计算机的其他人可以看到密码,例如security find-generic-password -l "My FileVault volume" -w.


编辑:在上面的示例中我使用密钥文件和空密码没有特殊原因。要使用密码而不使用密钥文件,请替换TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''为例如TrueCrypt --mount /dev/$disk -p pa55word。或者替换pa55word"$(security find-generic-password -l "My TrueCrypt volume" -w)"并使用 Keychain Access 为密码添加钥匙串项:

  • 这是一个很好的开始,但是如果我想仅使用密码来保护我的加密卷,该怎么办?有没有办法将密码存储在我的 OS X 登录钥匙串中,并配置 truecrypt 来使用它?例如,如果您使用加密的 .dmg 卷而不是真正的 crypt,则可以执行此操作,因为“hdiutil Attach”命令是钥匙串感知的。但我相信加密的 .dmg 文件的问题是它们无法在 Linux 上打开。 (2认同)
  • @algal 我编辑了答案。 (2认同)