GitHub权限被拒绝(公钥)

4

我使用-vT命令(如github的故障排除所述)得到以下打印输出:

OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/someuser/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug1: identity file /Users/someuser/.ssh/github_rsa type 1
debug1: identity file /Users/someuser/.ssh/github_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5github2
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/someuser/.ssh/known_hosts:2
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: Offering RSA public key: /Users/someuser/.ssh/github_rsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

截至昨天为止,一切都正常工作。自那时以来,我已经重新启动了计算机,现在连接到不同的网络。然而,看起来网络不是问题,因为我可以通过22端口建立连接。

有人有任何想法吗?


你可以尝试重新生成密钥 ssh-keygen -t rsa 并将公钥添加到 Github,然后再次尝试吗? - First Zero
当你执行 ssh -T git@github.com 命令时,它是否会询问你一个问题?如果是,请回答并重试。 - e40
1个回答

1

这个问题有点老了,但是我遇到了同样的问题,并最终解决了它,所以我想在这里分享一下我的解决方法。

当你克隆时,确保不要使用http的URL。

按照以下步骤操作:

git clone git@github.com:foo/project-name.git

不是这个:

git clone http://github.com/foo/project-name

我最初是克隆了 http URL,但这并没有使我的 ssh 凭据生效。不确定这是否是你的问题,因为你说它在前一天工作过,但这可能会给你一些尝试的东西。

FYI - 要获取您当前已检出的存储库的 URL,请执行以下操作:

cd $REPO_DIR
git config --list | grep remote.origin.url

您可以使用命令git remote查看和更改远程存储库,无需重新克隆。 - Ross

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接