无法通过ssh连接到github

时间:2015-07-30 07:20:56

标签: github ssh public-key

我创建了密钥并将我的公钥放入我的github帐户。 然后,在~/.ssh中,我创建了以下配置文件:

Host github
  HostName git@github.com
  IdentityFile ~/.ssh/id_rsa2.pub

当我做ssh github时

ssh: Could not resolve hostname git@github.com: nodename nor servname provided, or not known

当我做ssh -T git@github.com

Permission denied (publickey).

我做错了什么? 我在github帐户中输入的公钥表示"从未使用"。

提前谢谢

1 个答案:

答案 0 :(得分:4)

问题是,您正在尝试使用公钥进行身份验证。私钥,例如id_rsa2,而公钥是id_rsa2.pub,至少在默认情况下是使用ssh-keygen生成的。

默认情况下,ssh使用id_rsa进行识别,因此您必须使用:

ssh -i ~/.ssh/id_rsa2 -T git@github.com

ssh配置应如下所示:

Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa2

Host值非常重要,因为您必须使用该值来使用配置。您现在可以使用ssh github.com。如果您不更改Host行,则需要使用ssh github,但这可能会破坏其他工具。

或者你也可以使用ssh-agent。在这种情况下,您不需要创建配置,只需将密钥添加到您的ssh-agent和ssh到github。

ssh-add ~/.ssh/id_rsa2
ssh -T git@github.com