我有一所学校和一个个人 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。
有什么想法吗?谢谢。
我通过以下方式解决了这个问题:
1.在路径$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.使用 git bash 运行以下命令:
更改您的学校 github 存储库配置
git remote rm origin
git remote add origin git@school_github:your_github_username/your_repo_name.git
你可以试一试。
您不需要为每个 git 服务创建 SSH 密钥,只需将相同的公钥上传到个人和学校帐户即可。
SSH 公钥绑定到您的本地帐户,您只有在使用不同的本地(机器)帐户或不同的机器时才生成 SSH 密钥
在我看来,当你尝试进行身份验证时,你可能没有使用你的密钥。
如果运行命令
ssh-add -l
您(应该)看到所有密钥的列表。每次启动新会话时,请确保启动并添加密钥。
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(65条)