无法通过 ssh 连接到 github

cannot connect to github via ssh

我已经创建密钥并将我的 public 密钥放入我的 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 帐户中输入的 public 密钥显示 "Never used"。

提前致谢

问题是,您正在尝试使用 public 密钥进行身份验证。私钥,例如id_rsa2 而 public 密钥是 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