将 SSH 密钥添加到 GitHub 时出现问题

Issue on adding SSH key to GitHub

我遇到了一个问题,似乎与 GitHub 使用的 SSH 密钥格式有关。我使用 Git Bash 生成了一个新的 SSH 密钥:

$ ssh-keygen -t rsa -C "youremail@youremail.com"

然后,我将密钥复制到 GitHub 帐户页面设置中的 SSH 部分。但是,它附带了如下问题通知:

Key is invalid. It must begin with 'ssh-ed25519', 'ssh-rsa', 'ssh-dss', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', or 'ecdsa-sha2-nistp521'. Check that you're copying the public half of the key

之后,我编辑了我的 SSH 密钥,以 ssh-rsa 开头,最后是我的电子邮件地址。但是,问题依然存在。

解决这个问题的方法是什么?

ssh-keygen 将为您生成一对密钥,一个是私有密钥,另一个是 public。听起来你上传错了。 GitHub 想要 public 键,通常在这里:~/.ssh/id_rsa.pub.

只需按照以下步骤操作,您将立即设置 SSH 密钥:

  • 生成一个新的 ssh 密钥(如果您已有密钥,则跳过此步骤) ssh-keygen -t rsa -C "your@email"

  • home/.ssh 目录(或 windows 下的 Users/<your user>.ssh)中设置密钥后,打开它并复制内容


如何将 SSH 密钥添加到 GitHub 帐户?

  • 登录GitHub账户

  • 点击右上角的牧场主(设置

  • 单击 SSH 密钥

  • 单击添加 SSH 密钥

  • 粘贴您的密钥并保存

你们都准备好了:-)

如果您使用的是 Mac 并且正在 键入 GitHub 的说明(例如 Generating a new SSH key and adding it to the ssh-agent,您可能正在键入并且 仅按 Tab 键 (例如自动完成)到:

$ pbcopy < ~/.ssh/id_rsa

而不是

$ pbcopy < ~/.ssh/id_rsa.pub

对于前者,您实际上是在复制,并试图粘贴您的私钥

希望能为您节省一些时间。

打开文件 ~/.ssh/id_rsa.pub。然后用编辑器打开它,将 public 密钥复制到您的 GitHub 帐户。

我运行遇到了同样的问题,结果发现是因为评论中有-。 GitHub 显然不喜欢 -,但是 _ 还可以。

将public键复制到剪贴板的另一种方法:

clip < ~/.ssh/id_rsa.pub

将 SSH 密钥添加到 Github

检查您是否有钥匙?

ssh-add -l

如果不是呢?然后按照步骤生成密钥

ssh-keygen -t rsa -b 4096 -C your__gmail

现在要复制密钥,请使用 xclip 工具或转到文件并复制

sudo apt install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
  • 现在转到 github.com 并转到设置
  • select SSH 和 GPG 密钥
  • 新 SSH 密钥
  • 在标题字段中输入“your__choice__name”...
  • 将您的 public 密钥粘贴到密钥字段中
  • 单击添加 SSH 密钥

对于 IntelliJ IDE,

转到 IntelliJ IDEA -> 首选项...