• github多个账号配置ssh


    为什么有这个需求

    我自己有一个github账号,用于自己的日常开发。然后帮朋友开发一个项目,他要求使用他的账号提交和推送代码。

    遇到的问题

    我已经在本地配置了ssh用于提交和推送github代码。我使用朋友的账户登录登录了github并尝试在他账户的ssh中配置我已有的公钥(id_rsa.pub),然后github提示我,此密钥已被使用。那这样必须得重新生成密钥。

    生成密钥

    执行命令 ssh-keygen -t rsa -b 4096 -C "pengyou@gmail.com" -f id_rsa_pengyou会生成文件~/.ssh/rsa_pengyou~/.ssh/rsa_pengyou.pub

    配置

    ~/.ssh/rsa_pengyou.pub内容复制到github账号得ssh配置中。

    测试

    第一步:先测试ssh是否配置正确 ssh -T git@github.com -i ~/.ssh/id_rsa_pengyou。显示·! You’ve successfully authenticated, but GitHub does not provide shell access.·表示配置成功。
    第二步:尝试clone git clone git@github.com:xxxxx/xxx.git。提示“未找到仓库,请确认是否有访问权限。

    正确配置ssh(重要)

    增加`~/.ssh/config``文件,配置如下

    # github
    # 我自己账号得key
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    	
    # 这个是新加的key, 
    # github_2
    Host github_1.com  # 在写git地址是需要把github.com改为此配置 如:git@github.com/xxxxxx 改为 git@github_1.com/xxxxxx
    HostName github.com	
    PreferredAuthentications publickey		
    IdentityFile ~/.ssh/id_rsa_github	
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    特别主要上面第二个配置得Host 。在clone得时候需要将github.com改为这个host,请看上面配置得注释。

    再次测试

    git clone git@github_1.com:xxxxx/xxx.git ,clone 成功。

    为仓库配置user.name 和 user.email

    配置好后,提交消息中显示的我朋友得名称

    git config user.name pengyou --local
    git config user email pengyou@gmail.com --local
    
    • 1
    • 2
  • 相关阅读:
    Nodejs fs模块常用方法 -- File System
    Google Archive Patch 基础应用代码记录
    应用在冷链运输中的温度传感芯片
    准备pmp考试第13天
    HP魔法觉醒自动抢协作和自动社团答题的半成品
    docker 灵活的构建 php 环境
    vue v-for
    Springboot图书馆管理系统毕业设计、Springboot图书借阅系统设计与实现 毕设作品参考
    Android Glide, first start based on loadThumbnail, Kotlin(一)
    Autosar CAN硬件配置-Tc27x基于Davinci Cfg
  • 原文地址:https://blog.csdn.net/tearsknow/article/details/126563594