• 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
  • 相关阅读:
    Linux系统中基本的启动方式
    12、Urban Radiance Fields
    自动化测试框架Pytest(四) ——数据驱动
    新方向!文心一言X具身智能,用LLM大模型驱动智能小车
    替换SlowFast中Detectron2为Yolov8
    南京邮电大学高级语言程序设计实验三(函数实验)
    sed使用技巧-在replacement块获取pattern匹配的值
    Domain Admin域名和SSL证书过期监控到期提醒
    2019年Java面试题汇总
    低代码接口开发平台——YesApi(免费注册)
  • 原文地址:https://blog.csdn.net/tearsknow/article/details/126563594