小编Ron*_*Ron的帖子

Windows下的gpg-agent作为git bash的SSH Agent

gpg-agent 具有选项“--enable-ssh-support”和“--enable-putty-support”,允许它使用它作为众所周知的 ssh-agent 的替代品。

我一直在努力弄清楚如何在 Windows 和 git-bash 中实现这项工作。(请不要建议我使用 putty,因为我有很多脚本和其他程序需要在我的 windows pc 机器上使用 git bash 和 openssh,包括 PHPStorm 等)

我的第一次尝试是enable-ssh-supportC:\Users\[user]\AppData\Roaming\gnupg\gpg-agent.conf文件中有一行,

export SSH_AUTH_SOCK=/c/users/[user]/AppData/Roaming/gnupg/S.gpg-agent.ssh/c/users/[user]/.bash_profile文件中行。(我还创建了一个SSH_AUTH_SOCK带有值的 Windows 环境变量C:\Users\[username]\AppData\Roaming\gnupg\S.gpg-agent.ssh

我在密钥环中有我的 GPG 秘密密钥,带有启用身份验证和加密的子密钥。

并且我在C:\Users\[user]\AppData\Roaming\gnupg\sshcontrol文件中添加了启用身份验证的子密钥的 keygrip 。

由于 GnuPG 2.2.4 带有--export-ssh-key选项,所以我不需要monkeysphere将 GPG 密钥转换为 OpenSSH 格式。所以我导出了我的公钥,并将它放在具有正确权限的远程 Linux 机器中的 authorized_keys 文件中(使用腻子在另一台计算机上测试)。

然后我执行: gpg-connect-agent killagent /byegpg-connect-agent /byePowerShell中(并开始在后台运行的GPG代理并创建了S.gpg-agent.sshSOCK文件)。

然后尝试以常规方式 ssh 进入服务器。

它给了我一个错误。

然后我尝试启用腻子支持(enable-putty-support行中gpg-agent.conf允许您启用腻子支持。

您还需要在 …

ssh git gpg4win gnupg gpg-agent

5
推荐指数
1
解决办法
5030
查看次数

标签 统计

git ×1

gnupg ×1

gpg-agent ×1

gpg4win ×1

ssh ×1