shv*_*ved 23 gpg password-store
我使用通行证已经很长时间了;但是在将我的密钥存储和 gpg 密钥导出到另一台机器后,我看到以下输出:
$ gpg --list-key
/home/shved/.gnupg/pubring.gpg
------------------------------
pub 2048R/FA829B53 2015-04-28
uid [ultimate] Yury Shvedov (shved) <shved@lvk.cs.msu.su>
sub 2048R/74270D4A 2015-04-28
Run Code Online (Sandbox Code Playgroud)
我的密钥已导入并受信任,但无法使用:
pass insert test
Enter password for test:
Retype password for test:
gpg: 2048R/FA829B53: skipped: No public key
gpg: [stdin]: encryption failed: No public key
fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能再次使用我的密钥?
小智 15
pass使用 gnupg2,它不与 gnupg 1.x 共享它的密钥环。
使用 gnupg2 而不是 gnupg 再次导入您的密钥。如果您已经在目标机器上的 gnupg 中拥有您的密钥,请运行:
$ gpg --export-secret-keys > keyfile
$ gpg2 --import keyfile
Run Code Online (Sandbox Code Playgroud)
导入后,您可能需要更新对密钥的信任。Secret key is available.如果导入成功,您应该会看到一条消息:
$ gpg2 --edit-key FA829B53
[...]
Secret key is available.
sec rsa4096/FA829B53
created: 2015-03-14 expires: 2017-03-13 usage: SC
trust: unknown validity: ultimate
ssb rsa4096/74270D4A
created: 2015-03-14 expires: 2017-03-13 usage: E
[ultimate] (1). Yury Shvedov (shved) <shved@lvk.cs.msu.su>
Run Code Online (Sandbox Code Playgroud)
现在更新对您的密钥的信任:
gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save
Run Code Online (Sandbox Code Playgroud)
输出线
gpg: 2048R/FA829B53: skipped: No public key
Run Code Online (Sandbox Code Playgroud)
显示错误的pass初始化。您pass使用命令进行了初始化,pass init 2048R/FA829B53而您应该使用命令进行初始化pass init FA829B53。要解决此问题,您应该将文件内容~/.password-store/.gpg-id从2048R/FA829B53toFA829B53更改为并提交更改。
聚苯乙烯
@?ukasz Lis 的所有建议都是正确的,您也应该完成它们。在其他情况下,您将无法解密通行证:
$ pass -c test
Run Code Online (Sandbox Code Playgroud)
会给你一个错误:
gpg: decryption failed: No secret key
| 归档时间: |
|
| 查看次数: |
41985 次 |
| 最近记录: |