项目场景:
之前跟同事共用一个项目私密仓库,现需拆分成两个仓库,结果同事提出他不想换,让我这边再创建一个新仓库。
那么接下来就遇到一个情况,原来仓库的公钥我并不想删除,还想继续使用,于是我仅更换了远程仓库(私密仓库)的SSH地址,然后git push时导致了如下错误:
[session-6c459eb3] Auth error: DeployKey does not support push code
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
原因分析:
这个错误就是因为公钥没配置好,导致了权限问题。
所以,我们需要创建一个新的公钥!
解决方案:
需要明确的是,账户和公钥是一对多的关系,即一个账户可以关联多个公钥,但一个公钥只能配置一个账户。
新建并配置第二个公钥的步骤如下:
-
首先在终端输入指令,生成第二个公钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" -f ~/.ssh/second_rsa
其中"xxxxx@xxxxx.com"最好填你当前git绑定的邮箱,不要随意编造。创建完成后可以看到生成的文件second_rsa、second_rsa.pub。然后就可以在gitee上进行新建第二个个人SSH公钥了。
-
在C盘找到.ssh文件夹,例如我的路径为C:\Users\Administrator\.ssh,在该文件夹下右键,Git bash Here,输入指令:
touch config
目的是创建一个config文件,里面需要配置第二个公钥的信息:
# CODING Host gitee.com # 如果是github 就写 github.com User xxxxx@xxxxx.com # 你的邮箱 PreferredAuthentications publickey IdentityFile ~/.ssh/second_rsa # 第二个公钥的路径
创建后.ssh如下所示:
-
关联账户对应的公钥
可以看到图中,先输入指令:ssh-add ~/.ssh/id_rsa ~/.ssh/second_rsa
如果出错,则输入指令
ssh-agent bash
最后使用
ssh -T git@gitee.com
测试公钥是否配置成功。文章来源:https://www.toymoban.com/news/detail-465538.html
-
git push到新的远程仓库成功,问题解决!
文章来源地址https://www.toymoban.com/news/detail-465538.html
到了这里,关于解决git配置多个SSH公钥的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!