使用gpg中遇到problem with the agent: No pinentry

新安装的最小化centos8系统在gpg对称加密文档时,使用中遇到如下问题:

[root@centos ~]# gpg -c test 
gpg: problem with the agent: No pinentry
gpg: error creating passphrase: Operation cancelled
gpg: symmetric encryption of 'test' failed: Operation cancelled

网上查看参考资料,有推荐使用uset DISPLAY,尝试了一下还是不行。
前辈们的方案提供我了一个思路。
我拿centos7和centos8系统进行了比较:

centos7使用gpg会自动创建一下目录

[oot@centos7 ~ ]#rpm -qf `which gpg`
gnupg2-2.0.22-5.el7_5.x86_64

[root@centos7 ~ ]#ll ~/.gnupg/
total 12
-rw-------. 1 root root 7680 Dec  5 23:57 gpg.conf
drwx------. 2 root root    6 Dec  5 23:57 private-keys-v1.d
-rw-------. 1 root root    0 Dec  5 23:57 pubring.gpg
-rw-------. 1 root root  600 Dec  5 23:57 random_seed
srwxr-xr-x. 1 root root    0 Dec  5 23:57 S.gpg-agent

centos8使用gpg会自动创建一下目录

[root@centos8 ~ ]#rpm -qf `which gpg`
gnupg2-2.2.9-1.el8.x86_64
[root@centos8 ~ ]#ll ~/.gnupg/
total 8
drwx------. 2 root root   6 Dec  5 22:34 private-keys-v1.d
-rw-------. 1 root root  32 Dec  5 22:34 pubring.kbx
-rw-------. 1 root root 600 Dec  5 23:18 random_seed

拿能正常打开窗口的Centos8对比

正常:
[root@centos8 ~ ]#ls /usr/bin/ | grep pinentry
pinentry
pinentry-curses          
[root@centos8 ~ ]#which pinentry
/usr/bin/pinentry
[root@centos8 ~ ]#rpm -qf `which pinentry`
pinentry-1.1.0-2.el8.x86_64
有问题的
[root@centos ~]# ls /usr/bin/ | grep pinentry
[root@centos ~]# rpm -q pinentry-1.1.0-2.el8.x86_64
package pinentry-1.1.0-2.el8.x86_64 is not installed
[root@centos ~]# yum install pinentry -y

安装pinentry包文件后恢复。

参考链接:
https://qastack.cn/superuser/520980/how-to-force-gpg-to-use-console-mode-pinentry-to-prompt-for-passwords

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: "gpg: 从公钥服务器接收失败:no name" 意思是在从公钥服务器上接收公钥时出现了错误,原因是找不到名称。这可能是由于输入的公钥ID不正确或者在服务器上没有找到对应的公钥造成的。请确认输入的公钥ID是否正确,并确认在服务器上是否有对应的公钥。 ### 回答2: GPG是GNU隐私保护(GNU Privacy Guard)的缩写,是一种加密和签名工具。如果从公钥服务器接收失败,显示“no name”,这可能是因为公钥服务器无法识别您提供的用户名。 公钥服务器是用于存储公钥的服务器,它可以接收和发送公钥,以便在加密通信使用。当您使用GPG软件从公钥服务器接收公钥时,软件会向服务器发送查询,以查找符合您提供的用户名或电子邮件地址的公钥。 如果服务器未找到匹配项,则会返回“no name”错误。为了解决这个问题,您可以再次检查您提供的用户名或电子邮件地址是否正确,并确保没有拼写错误。如果您没有在公钥服务器上注册或更新您的用户名,则服务器将无法识别您的请求。 另外,您也可以尝试使用不同的公钥服务器。有时,一些服务器可能会关闭或无法访问,这可能会导致接收失败的情况。 总之,当GPG从公钥服务器接收失败,显示“no name”错误时,您需要检查提供的用户名或电子邮件地址是否正确,也可以使用其他公钥服务器来查找匹配项。 ### 回答3: gpg(GnuPG)是一款加密软件,它可以用于保护文件和电子邮件的机密性和完整性。通过使用公钥加密技术,只有持有相应私钥的人才能解密和查看相关信息。 在使用gpg时,可能会遇到gpg:从公钥服务器接收失败:no name”的错误提示。这个错误通常意味着gpg无法从公钥服务器获取所需的秘钥,因为服务器返回的消息缺少对应的名称信息。这可能是因为公钥服务器没有被正确配置或者提供了不正确的信息。 要解决这个问题,可以尝试以下几种方法: 1. 检查公钥服务器的配置信息:通过命令行或者其他工具,检查所使用的公钥服务器的配置信息是否正确。确保公钥服务器的URL地址与公钥服务器提供的信息一致。 2. 更换公钥服务器:如果当前所使用的公钥服务器无法提供所需的秘钥,可以尝试更换一个公钥服务器。需要注意的是,不同的公钥服务器可能提供不同的秘钥,因此需要选择适合自己的公钥服务器。 3. 询问秘钥的提供者:如果无法从公钥服务器获取所需的秘钥,可以直接询问秘钥的提供者是否可以提供秘钥以解决问题。 总之,当使用gpg时,如果遇到gpg:从公钥服务器接收失败:no name”这个错误提示,需要检查所使用的公钥服务器的配置信息是否正确,尝试更换公钥服务器,或者直接询问秘钥的提供者是否可以提供秘钥以解决问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值