• 解决git配置多个SSH公钥的问题


    项目场景:

           之前跟同事共用一个项目私密仓库,现需拆分成两个仓库,结果同事提出他不想换,让我这边再创建一个新仓库。
           那么接下来就遇到一个情况,原来仓库的公钥我并不想删除,还想继续使用,于是我仅更换了远程仓库(私密仓库)的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.
    
    • 1
    • 2
    • 3
    • 4
    • 5

    原因分析:

           这个错误就是因为公钥没配置好,导致了权限问题。

      所以,我们需要创建一个新的公钥!


    解决方案:

      需要明确的是,账户和公钥是一对多的关系,即一个账户可以关联多个公钥,但一个公钥只能配置一个账户。

    新建并配置第二个公钥的步骤如下:

    1. 首先在终端输入指令,生成第二个公钥

       ssh-keygen -t rsa -C "xxxxx@xxxxx.com" -f ~/.ssh/second_rsa
      
      • 1

      其中"xxxxx@xxxxx.com"最好填你当前git绑定的邮箱,不要随意编造。创建完成后可以看到生成的文件second_rsa、second_rsa.pub。然后就可以在gitee上进行新建第二个个人SSH公钥了。
      gitee公钥

    2. 在C盘找到.ssh文件夹,例如我的路径为C:\Users\Administrator\.ssh,在该文件夹下右键,Git bash Here,输入指令:

      touch config
      
      • 1

      目的是创建一个config文件,里面需要配置第二个公钥的信息:

      # CODING
      Host gitee.com   # 如果是github 就写 github.com
      User xxxxx@xxxxx.com  # 你的邮箱
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/second_rsa  # 第二个公钥的路径
      
      • 1
      • 2
      • 3
      • 4
      • 5

      创建后.ssh如下所示:
      .ssh

    3. 关联账户对应的公钥
      关联公钥
      可以看到图中,先输入指令:

      ssh-add ~/.ssh/id_rsa ~/.ssh/second_rsa
      
      • 1

      如果出错,则输入指令

      ssh-agent bash
      
      • 1

      最后使用

      ssh -T git@gitee.com
      
      • 1

      测试公钥是否配置成功。

    4. git push到新的远程仓库成功,问题解决!
      git push

  • 相关阅读:
    5年Java面试阿里P6经验总结
    汇编语言设计
    微服务节流控制:Eureka中服务速率限制的精妙配置
    将Java项目打包成exe可执行文件
    神仙级价格:腾讯云双十一服务器优惠价格表来了
    12个yyds的低代码开源项目,一天开发一个系统!
    俄罗斯方块
    上海亚商投顾:三大指数小幅下跌 光刻机概念股午后走强
    2021ICPC沈阳区域赛BEFIJM
    【Redis】数据过期策略和数据淘汰策略
  • 原文地址:https://blog.csdn.net/qq_41798899/article/details/127946885