Github clone [email protected]: Permission denied (publickey).

问题描述:Github push 成功,但是新建的库无法clone,一直报告[email protected]: Permission denied (publickey).


刚开始使用时,本地新建了一个SSH,然后绑定到了github上,并且也把本地的库push到GitHub同步成功。但是在github上新建的库却一直clone不下来。

我们可以根据以下几个步骤来确定问题所在:

1. 运行 $ ssh -T [email protected]

正常情况下应该显示:

但是在我的电脑上却显示:[email protected]: Permission denied (publickey).



2. 确定SSH存在,如果不存在则创建一个并绑定到github

确认您的私钥已生成并加载到 SSH。 如果使用的是 OpenSSH 6.7 或更早版本:

# 在后台启动 ssh-agent

$ eval "$(ssh-agent -s)"

> Agent pid 59566$ ssh-add -l

> 2048a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d/Users/you/.ssh/id_rsa (RSA)

如果使用的是 OpenSSH 6.8 或更新版本:

# 在后台启动 ssh-agent

$ eval "$(ssh-agent -s)"

> Agent pid 59566

$ ssh-add -l -E md5

> 2048MD5:a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d/Users/yo



3.也可尝试连接 [email protected] 来检查使用的密钥:


在该示例中,我们没有任何密钥供 SSH 使用。 "identity file" 行末的 "-1" 表示 SSH 找不到可使用的文件。 后面的 "Trying private key" 行也表示未找到文件。 如果文件存在,这些行将分别是 "1" 和 "Offering public key":



这里我发现了一个问题,我创建了一个SSH用来push一个库到github,但是clone库下来的时候,git却找了另外一个隐藏的SSH。



我们运行$ls -ah 查看所有隐藏的文件,发现还有一个.ssh的文件夹

运行$cd .ssh

运行$cat id_rsa.pub 

拷贝SSH并添加新的SSH Key到github上,重新运行clone命令就可以了

你可能感兴趣的:(Github clone [email protected]: Permission denied (publickey).)