我最近了解了pass
git 集成,它允许将我的密码与远程 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
.