一台机器配置两个github账号、ERROR: Permission to user1/repo.git denied to user2问题

背景:网上关于一台机器配置两个github账号的博文已经很多了,所以本片文章不打算详细罗列配置信息;主要讲讲因粗心遇到的问题,帮助遇到相同问题的朋友快速定位并解决。

具体配置网上找了链接以供参考:

https://blog.csdn.net/formularoom/article/details/72588164

1、SSH通信方式:为避免每次通信需要输入用户名和密码的操作,使用ssh(非对称加密)的形式进行身份确认,首先需要生成公私钥对,私钥留在本机,共钥复制到github上;每次通信时(push pull等) 本机会发送请求到远程主机(github)进行身份确认,远程主机返回一个字符串,本机拿到字符串后 使用指定的私钥进行加密并返回给远程主机,远程主机拿到后使用共钥进行解密 并对比字符串 若一致则建立通信。

2、ERROR: Permission to user1/repo.git denied to user2问题

对于设置两个github账号 先看看~/.ssh/config的配置 

# one(git account)
Host by.github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa

# two(git account)
Host dw.github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa.two

对于问题1已经了解了ssh的通信方式,那么当远程主机返回一个字符串等待加密时 该采用哪一个私钥进行加密回传?我遇到的问题2的原因就是私钥选择错误问题。

 1) git remote rm origin 取消origin链接 可以通过git config --list查看

 2) 我使用git remote add origin git@github.com:AAAAAAA/HamcestDemo.git 与origin链接 然后再git push origin maser 就产生了问题2。 问题再我需要通过Host为 dw.github.com去拿到正确的私钥处理,因此改成git remote add origin git@dw.github.com:AAAAAAA/HamcestDemo.git 就解决了。

3、git config配置 如果两个账号的话,如果一个经常用的(如公司)可以再全局配置中指定, 个人偶尔用的账号可以进行局部配置

1)全局配置:

       git config --global user.name "your name" 

       git config --global user.email "your email"

       git config --global --list  查看全局配置

 2)局部配置

      git config user.name "your name"

      git config user.email "your email"

      git config --list 查看配置

指定name email的作用就是便于区分代码的提交人 联系方式等 ~

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏油

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值