我有几个旧的 ssh 密钥,~/.gnupg/sshcontrol所以我删除了这个文件中的所有行并重新启动了我的计算机。现在,我不能再向 gpg 代理添加 ssh 密钥了:
$ cat ~/.gnupg/gpg-agent.conf
enable-ssh-support
$ gpg-connect-agent --verbose /bye
gpg-connect-agent: closing connection to agent
$ gpg-connect-agent updatestartuptty /bye
OK
$ ssh-add -l
The agent has no identities.
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/cassou/.ssh/id_rsa:
Identity added: /home/cassou/.ssh/id_rsa (/home/cassou/.ssh/id_rsa)
$ ssh-add -l
The agent has no identities.
Run Code Online (Sandbox Code Playgroud)
小智 6
我遇到了同样的问题,这就是我解决它的方法:
gpg-agent 将您使用 ssh-add 添加的密钥复制到特定目录下~/.gnupg(特别是~/.gnupg/private-keys-v1.d使用 gpg2)。
看来,而且我真的认为这应该报告为一个错误,如果您尝试使用 ssh-add 添加的密钥已经存在于该目录中,则它实际上不会添加该密钥,~/.gnupg/sshcontrol这反过来意味着它会“ t 由 gpg-agent 提供。运行grep -aoe "comment.*$" ~/.gnupg/private-keys-v1.d/*应该打印出一条评论(至少对我来说)对应于哪个键是哪个。
删除特定键并尝试再次添加后,它应该可以工作。我建议不要清除整个目录,因为这也是它缓存 gpg 密钥的地方。
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |