我尝试在我的服务器上进行gpg加密/解密,为了加密,我创建了这个命令行:
gpg --output test.txt.gpg --encrypt test.txt
然后我输入用户ID并创建我的文件。
但之后,当我想用相同的命令解密这个文件时:
gpg --output result.txt --decrypt test.txt.gpg
结果是:
gpg: encrypted with 2048-bit RSA key, ID FF070B4D, created 2017-07-19
"droli mail_adress"
gpg: decryption failed: No secret key
我不明白为什么我可以加密但不能解密?
$gpg --list-keys
/home/ssie/.gnupg/pubring.gpg
-----------------------------
pub 2048R/09C41BAC 2017-07-19
uid droli mail_adress
sub 2048R/6D2F1BE9 2017-07-19
$gpg --list-secret-keys
/home/ssie/.gnupg/secring.gpg
-----------------------------
sec 2048R/09C41BAC 2017-07-19
uid droli mail_adress sub
ssb 2048R/6D2F1BE9 2017-07-19
2小时后编辑:
我想找到原因:同一个用户有2个不同的密钥和1个密钥。但现在还有另一个问题:我删除了错误的密钥并再次进行相同的测试。
解密后的答案是:
您需要使用密码为用户解锁密钥:“droli mail_adress“2048位RSA密钥,ID 6D2F1BE9,创建于2017-07-19(主要 密钥ID 09C41BAC)
无法连接到`/home/ssie/.gnupg/S.gpg-agent':拒绝连接 gpg-agent [32298]:命令get_passphrase failed:操作已取消 gpg:由用户gpg取消:使用2048位RSA密钥加密,ID 6D2F1BE9,创建2017-07-19“telefact”gpg:公钥解密 失败:一般错误gpg:解密失败:没有密钥
这是什么“S.gpg-agent”? (在我的案例中,文件/home/ssie/.gnupg/S.gpg-agent为空)
$ gpg-agent
--daemon GPG_AGENT_INFO=/tmp/gpg-1K7fOi/S.gpg-agent:18607:1; export GPG_AGENT_INFO;
启动GPG_AGENT_INFO=/tmp/gpg-1K7fOi/S.gpg-agent:18607:1
后
和export GPG_AGENT_INFO
没有关于gpg代理的问题。
您需要使用密码为用户解锁密钥:“droli mail_adress“2048位RSA密钥,ID 6D2F1BE9,创建于2017-07-19(主要 密钥ID 09C41BAC)
gpg:被用户取消 gpg:使用2048位RSA密钥加密,ID 6D2F1BE9,创建于2017-07-19 “droli mail_adress” gpg:公钥解密失败:一般错误 gpg:解密失败:没有密钥
创建新密钥时,我最后会遇到同样的问题:
更改(N)ame,(C)omment,(E)mail或(O)kay /(Q)uit? Ø 你需要一个密码才能保护你的密钥。
gpg:被用户取消 gpg:密钥生成已取消。
这就像密码短语有一个dyfonctionnement?
感谢您的帮助。
答案 0 :(得分:0)
解决方案是:
chmod o+rw $(tty)
在使用su成为该用户之前,它可以正常工作。