如何从另一台计算机的“pass”访问我的密码而不传输私人 GPG 密钥?

如何从另一台计算机的“pass”访问我的密码而不传输私人 GPG 密钥?

我最近了解了passgit 集成,它允许将我的密码与远程 git 存储库同步。我立即毫不犹豫地进行了配置。

因此,我决定在另一台计算机上克隆此存储库(安装了另一个 GPG 密钥)并尝试访问密码。然而它抱怨道:

pass myaccount
gpg: decryption failed: no secret key

我猜这是因为我安装了另一个 GPG 密钥,而不是我用来加密密码的密钥(尽管我使用相同的 GPG 密钥 ID)。

那么,如何在不将 GPG 私钥从原始机器转移到这台机器的情况下访问这些密码呢?我当然知道密码,如果需要的话可以转移公共密码。

或者我需要复制整个密钥环吗?

想法...

现在写完这篇文章后,我想我更接近于理解它是如何工作的了。所以基本上我能找到的钥匙~/.gnupg不仅仅是钥匙 - 它们是加密的键。使用密码加密。因此将它们复制到另一台机器上相对安全。这是对的吗?

答案1

我自己还没有尝试过,但pass应该能够加密多个 GPG 密钥的密码,因此将公钥从第二台计算机传输到第一台计算机,然后运行pass init <id-of-GPG-key-1> <id-of-GPG-key-2>​​,然后pass应该加密商店中所有未加密的密码对于它们的这两个密钥,并且(同步时,这是有好处git的)那么它们应该可以在两台计算机上使用。

如果您忘记了当前加密密码的密钥 ID,您可以查看<password-store>/.gpgid.

相关内容