Gpg
gpg:無法檢查簽名:沒有公鑰
我可以在一台機器上解密文件,但在另一台機器上它說“無法檢查簽名”(但仍然解密文件)。
$ sudo gpg --lock-never -o update.tar -r my@email.com --decrypt myfile.sig gpg: Signature made <DATETIME> gpg: using RSA key <KEY> gpg: Can't check signature: No public key
如何在它工作的機器上找到公鑰?
解密有效,即我看到
update.tar
並且它沒有損壞。唯一的問題是有關簽名檢查的錯誤消息。在一台機器上我有它,而在另一台機器上我沒有。即另一台機器有公鑰來檢查某處的簽名。如何找到它?
您可能需要重新導入/導出密鑰並導入它們:
在文件中執行它,確保首先執行
chmod +x file
。#!/bin/bash your_id_here="$@" #your_id_here is your ID.: #Export keys and ownertrust: exportkey() { gpg --export --armor $your_id_here > $your_id_here.pub.asc gpg --export-secret-keys --armor $your_id_here > $your_id_here.priv.asc gpg --export-secret-subkeys --armor $your_id_here > $your_id_here.sub_priv.asc gpg --export-ownertrust > $your_id_here.ownertrust.txt } exportkey
在命令行上執行 as
./file id
,或根據需要進行修改。為了更容易移動,請在文件夾中執行它,然後將其 tar。
要導入它們:
#!/bin/bash your_id_here="$@" importkey() { gpg --import $your_id_here.pub.asc gpg --import $your_id_here.priv.asc gpg --import $your_id_here.sub_priv.asc gpg --import-ownertrust $your_id_here.ownertrust.txt } importkey
和上面一樣
./file2 id
。當然,在執行之前先解壓它們。
PS:
- 它顯然會提示您輸入密碼,這在 gpg 時通常會有。
- 請記住,由於有兩個密鑰,它可能會多次詢問您的密碼(想想 2 次)
priv
,我相信其餘的都不會詢問(當然,除非您cache
在 gpg-agent.xml 中設置了設置。 conf,在這種情況下,它會詢問一次或不詢問)。- 最後,這僅適用於 per-id 案例。因此,您必須自己列出密鑰的 ID,
gpg -k
然後使用複制粘貼您要備份的 ID…