【问题标题】:Making Git use PuTTY as SSH client on Windows 7让 Git 在 Windows 7 上使用 PuTTY 作为 SSH 客户端
【发布时间】:2015-12-25 02:34:53
【问题描述】:

我已经使用 PuTTY 生成了这对密钥,将公共密钥放在 github 上。 然后我从 Git Extensions 运行身份验证代理,添加密钥,单击“关闭”按钮,尝试连接到 GitHub,但收到拒绝访问的消息:

WL_Temp@proj ~/Projects/Squeaky (feature/STRINGERV2-182)
$ ssh -T git@github.com
Permission denied (publickey).

WL_Temp@proj ~/Projects/Squeaky (feature/STRINGERV2-182)
$ ssh -aT git@github.com
Permission denied (publickey).

WL_Temp@proj ~/Projects/Squeaky (feature/STRINGERV2-182)
$ ssh -vT git@github.com
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Connecting to github.com [192.30.252.130] port 22.
debug1: Connection established.
debug1: identity file /c/Users/WL_Temp/.ssh/id_rsa type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_dsa type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_ed25519 type -1
debug1: identity file /c/Users/WL_Temp/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0
debug1: no match: libssh-0.7.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /c/Users/WL_Temp/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Users/WL_Temp/.ssh/id_rsa
debug1: Trying private key: /c/Users/WL_Temp/.ssh/id_dsa
debug1: Trying private key: /c/Users/WL_Temp/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/WL_Temp/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

在那之后,我似乎尝试了一切可能会有所帮助但失败的方法。 能解决吗?

【问题讨论】:

    标签: git ssh putty


    【解决方案1】:

    ssh-add -l 验证 ssh 是否可以访问您的代理(它没有权限,因为您没有看到提供这样的密钥)。

    openssh 也不适用于 PuTTY 密钥和代理。您需要将密钥从 PuTTY 格式转换为 openssh 格式,以便在终端 ssh 中使用它们。

    【讨论】:

      【解决方案2】:

      Git for Windows 附带一个 Windows 版本的 OpenSSH 客户端,默认使用。

      能够与 PuTTY 一​​起工作 - 这是通过正确设置 GIT_SSH 环境变量来完成的(并在 PuTTY 上进行一点操作以使其信任您连接到的服务器)。

      这些事情在this guide中解释得很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-11
        • 2020-11-14
        • 1970-01-01
        • 2013-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多