如何更改密码密码存储区的gpg密钥


16

可以pass用作密码管理器来存储密码。

手册中尚不清楚的一件事是,是否可以轻松更改所使用的gpg密钥。人们用gpg密钥初始化了密码存储,但是我想知道如果密钥过时了怎么办。

是否有一种方便的方法可以用另一个密钥解密和重新加密存储在密码管理器中的所有密码?

Answers:


21

使用pass init [-p path] <gpg-id>where <gpg-id>指定要用来加密密码的新gpg密钥。根据pass手册页

如果指定的gpg-id与任何现有文件中使用的密钥不同,这些文件将被重新加密以使用新的ID。

这似乎至少在pass 1.6.5请注意,您需要访问旧的gpg私钥才能解密,然后重新加密您的密码。

警告1

如果您的pass目录中的任何一个都不使用新密钥重新加密,则可能是因为该.gpg-id文件具有覆盖在顶级文件中指定的所有gpg-id 的文件password-store目录文件。我不会在这个问题中介绍如何解决该问题,因为它可能有点切线,但是我会说pass手册页在解释它方面做得很好。

警告2

如果您的~/.password-store目录是git repo(即您一次运行pass git init),那么请注意,旧的加密将保留在git repo的提交历史记录中;如果您担心潜在的GPG密钥受损,则应采取必要的步骤来git删除该git历史记录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.