Github: 每次使用后我都必须制作一个新的 SSH 密钥

Github: I have to make a new SSH key after every use

我有一所学校和一个个人 Github,所以我为我的个人帐户制作了一个 SSH 密钥并将其链接起来。它总是只工作一次,然后给我

Push Failed
Git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

我删掉旧的SSH,重新做一个SSH后又可以正常使用了,但这显然是一个巨大的麻烦。我在 Windows 10,使用 Git Bash,IDE 是 IntelliJ。

有什么想法吗?谢谢

您无需为每个 git 服务创建 SSH 密钥,只需将相同的 public 密钥上传到个人和学校帐户即可。

SSH public 密钥绑定到您的本地帐户 只有当您使用不同的本地(机器)帐户或不同的机器时,您才生成 SSH 密钥

在我看来,当您尝试进行身份验证时,您可能没有使用您的密钥。

如果你运行命令

ssh-add -l

您(应该)看到所有密钥的列表。每次开始新会话时,请确保启动代理并添加密钥。

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

我通过以下方式解决了这个问题:

1.Create在路径$USER_HOME/.ssh/中创建一个名为config的文件,然后添加以下内容。

# For school account
Host school_github
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_school

# For personal account
Host personal_github
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_personal

2.Run 以下命令使用 git bash:

更改您的学校github 存储库配置

git remote rm origin 
git remote add origin git@school_github:your_github_username/your_repo_name.git

你可以试试。