gpg-agent和SSH:无密钥

卡兹·沃尔夫(Kaz Wolfe)

我正在尝试使用本教程通过我的GPG子项启用SSH身份验证但是,我.init从此博客借用并使用了脚本(代替编辑Xprofile)。

但是,我收到一个非常奇怪的错误消息:


┌─[12:53:49]─[user@pc]
└──> ~ $ ssh-add -l
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 started
gpg-agent[7659]: ssh request 1 is not supported
gpg-agent[7659]: ssh request handler for request_identities (11) started
gpg-agent[7659]: no running SCdaemon - starting it
gpg-agent[7659]: DBG: first connection to SCdaemon established
gpg-agent[7659]: no authentication key for ssh on card: Card error
gpg-agent[7659]: /home/user/.gnupg/sshcontrol:4: key '[keygrip from auth key]' skipped: No such file or directory
gpg-agent[7659]: ssh request handler for request_identities (11) ready
The agent has no identities.
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 terminated

当然,这没有任何意义,因为我从未使用过智能卡,也没有安装智能卡驱动程序。

此外,这些GPG密钥有效且已导入。上面列出的密钥也有一个身份验证子密钥。

我正在运行GnuPG版本2.1.1。

有什么办法可以解决此问题,并且(作为奖励)可以使我的SSH密钥通过GPG运行?


内容~/.gnupg/sshcontrol

# List of allowed ssh keys.  Only keys present in this file are used
# in the SSH protocol.  The ssh-add tool may add new entries to this

<keygrip from my auth key>

编辑:完成set | grep SSH_AUTH_SOCK,我得到:

SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh

但是,尝试使用cat此文件时,出现No such device or address错误。但是,我不确定这是相关的还是由于期望返回而只是用户错误。

瑞安·吕(Ryan Lue)

我发现您的设置存在两个问题:

  1. 但是,我.init从此博客借用并使用了脚本(代替编辑Xprofile)。

    该博客文章中的init脚本已过时(例如对于2.1之前的GnuPG版本)。不要使用它。

  2. 编辑:完成set | grep SSH_AUTH_SOCK,我得到:

    SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh
    

    但是,在尝试保存此文件时,出现“ No such device or address”错误。但是,我不确定这是相关的还是由于期望返回而只是用户错误。

    您使用了错误的SSH身份验证套接字。

有关这些声明的来源,请查阅官方文档有关直接修复的信息,请参见Unix StackExchange上Jens Erat的过程概述为方便起见,请在此处复制:

  1. ssh-agent通过添加enable-ssh-support启用协议~/.gnupg/gpg-agent.conf
  2. export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh; 你可能想在你的~/.profile
  3. ssh-agent如果启动则杀死并重新加载gpg-agentgpg-connect-agent reloadagent /bye
  4. 导出您的公共密钥并将其添加到目标服务器(ssh-add -L现在应该包含您的OpenPGP密钥熟悉的SSH公共密钥行)

    编者注:可通过将密钥的'keygrip'值添加到~/.gnupg/sshcontrol,然后使用对其进行授权,从而ssh-copy-id简化此步骤

  5. ssh 到目标服务器,就像使用普通的SSH密钥一样

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

直接在Go中创建或使用GPG或SSH密钥

来自分类Dev

密钥环中的Git GPG密码

来自分类Dev

使用gpg-agent和SSH进行Pinentry失败

来自分类Dev

无法找到gpg-agent

来自分类Dev

PGP和GPG之间的区别

来自分类Dev

无法找到gpg-agent

来自分类Dev

PGP和GPG之间的区别

来自分类Dev

如何使gpg找到gpg-agent

来自分类Dev

gpg2:无密钥

来自分类Dev

GPG密钥/文件命名混乱

来自分类Dev

如何禁用SSH和GPG的密钥环?

来自分类Dev

14.04禁用SSH和GPG的密钥环

来自分类Dev

如何通过ssh-agent转发gpg密钥?

来自分类Dev

使用gpg-agent和SSH进行Pinentry失败

来自分类Dev

如何找出gpg-agent已缓存的键?(例如ssh-add -l如何显示您缓存的ssh密钥)

来自分类Dev

关于pinentry用法和gpg

来自分类Dev

邮件列表的GPG密钥

来自分类Dev

gpg-agent拒绝带有ssh-add的SSH密钥,报告“代理拒绝操作”

来自分类Dev

对于gpg,ssh和gpg-agent,在多会话tmux环境中通过pinentry对SSH使用GPG身份验证子项的正确配置是什么?

来自分类Dev

gpg-agent代替ssh-agent

来自分类Dev

生成密钥后,缺少pubring.gpg和secring.gpg

来自分类Dev

列出和导出GPG密钥

来自分类Dev

备份GPG和SSH密钥的最安全方法

来自分类Dev

如何使用gpg-agent设置SSH密钥转发?

来自分类Dev

恢复仍在gpg代理中注册的丢失的ssh密钥

来自分类Dev

如何发布GPG密钥?

来自分类Dev

如何在不运行gpg-agent的情况下在脚本中生成gpg密钥?

来自分类Dev

GPG密钥和电子邮件

来自分类Dev

使用 gpg-agent 和另一个密钥来源的 SSH 身份验证?