我创建了密钥并将我的公钥放入我的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帐户中输入的公钥表示"从未使用"。
提前谢谢
答案 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