防止 VSCode 远程容器中的 GPG 密钥共享

Kar*_*arl 5 gnupg docker visual-studio-code gpg-agent

官方文档中的以下段落描述了如何在 VSCode 中启用 GPG 密钥共享(从本地主机到远程容器)(https://code.visualstudio.com/docs/remote/containers#_sharing-gpg-keys)。

说明(适用于 Linux)仅指出要共享 GPG 密钥,请gnupg2在本地和容器中安装。但是,如果我已经gnupg2安装但不想共享密钥怎么办?据我所知,VSCode 在完成密钥共享的容器内执行启动后命令,例如:

Copy /home/karlschriek/.gnupg/pubring.kbx to /home/vscode/.gnupg/pubring.kbx
Copy /home/karlschriek/.gnupg/trustdb.gpg to /home/vscode/.gnupg/trustdb.gpg
...
Run Code Online (Sandbox Code Playgroud)

我无法找到可以防止这种情况的设置。据推测,它也使用gpg-agent与本地主机相同的方式。我想阻止这种情况发生。

Von*_*onC 1

由于这种行为似乎不可配置,我会

  • 将这些文件移动到自定义文件夹中(~/.gnupg 之外,并使用GNUPGHOME环境变量引用它)
  • 编写一个远程 VSCode 启动脚本,该脚本将在本地启动后启动 VSCodeexport GNUPGHOME=""

这样,VSCode 就会在默认的 ~/.gnupg 文件夹中搜索要共享的 gnupg 文件,而您的情况并未使用该文件夹。

这是一种简单的解决方法,不是精确的解决方案,但足够简单以进行测试。