相关疑难解决方法(0)

将 SSH 和 Git 连接到 gpg-agent

我正在运行带有 OpenPGP 小程序的 YubiKey NEO 以将我的 GPG 密钥存储在智能卡上。我已经通过删除启动条目手动停止了所有其他 SSH 和 GPG 代理(在基本 OS Luna、Ubuntu 12.04 上)。

然后我开始了这个scdaemon过程,确保它的环境变量被导出:

$ scdaemon --daemon
SCDAEMON_INFO=/tmp/gpg-zKwfGU/S.scdaemon:13142:1; export SCDAEMON_INFO;
$ SCDAEMON_INFO=/tmp/gpg-zKwfGU/S.scdaemon:13142:1; export SCDAEMON_INFO;
Run Code Online (Sandbox Code Playgroud)

然后我开始了这个gpg-agent过程,再次确保环境变量被导出:

$ gpg-agent --enable-ssh-support --daemon --write-env-file "${HOME}/.gpg-agent-info" 
GPG_AGENT_INFO=/tmp/gpg-9UaXHX/S.gpg-agent:13322:1; export GPG_AGENT_INFO;
SSH_AUTH_SOCK=/tmp/gpg-WAYxYZ/S.gpg-agent.ssh; export SSH_AUTH_SOCK;
SSH_AGENT_PID=13322; export SSH_AGENT_PID;
$ GPG_AGENT_INFO=/tmp/gpg-9UaXHX/S.gpg-agent:13322:1; export GPG_AGENT_INFO;
$ SSH_AUTH_SOCK=/tmp/gpg-WAYxYZ/S.gpg-agent.ssh; export SSH_AUTH_SOCK;
$ SSH_AGENT_PID=13322; export SSH_AGENT_PID;
Run Code Online (Sandbox Code Playgroud)

我现在去连接到我的 SSH 服务器:

$ ssh user@myhost.net
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

奇怪的。

如果我尝试像这样运行该ssh过程gpg-agent,它就可以正常工作™:

$ gpg-agent --enable-ssh-support --daemon ssh user@myhost.net …
Run Code Online (Sandbox Code Playgroud)

ssh gpg gpg-agent smartcard

6
推荐指数
1
解决办法
3308
查看次数

标签 统计

gpg ×1

gpg-agent ×1

smartcard ×1

ssh ×1