多个git账户ssh密钥配置
假设两git网站:A.com和B.com,在这两个网站上使用的邮箱和用户名分别为a@mail, userA和b@mail, userB。
-
清除全局配置
git config --global --list
git config --global --unset user.name
git config --global --unset user.email -
生成rsa密钥
ssh-keygen -t rsa -C "a@mail"
ssh-keygen -t rsa -C "b@mail"
值得注意的是,上述每条命令按下 ENTER 键后,会有如下提示:
Generating public/private rsa key pair.Enter file in which to save the key (/Users/xx/.ssh/id_rsa):
在这里输入公钥的名字,默认情况是叫 id_rsa,为了不同git网站用户配置相区分,在这里分别输入 id_rsa_a,id_rsa_b起不同的名字。输入完毕后,一路回车,钥对就生成完毕了。 -
向git网站添加ssh keys
-
将私钥添加到本地
迁移.ssh公私钥到另一台电脑上时记得执行该部分命令,否则采用ssh方式克隆github项目时报错:“sign_and_send_pubkey: signing failed for RSA from agent: agent refused operation from agent: agent refused operation for RSA ”
打开git客户端,执行如下命令
通过ssh-add命令,公钥对应的东西从一个邮箱字符串变为私钥文件(可能默认对应的私钥文件为id_rsa,由此公私钥不匹配,报出错误)
- 管理密钥
在本地创建密钥配置文件,根据仓库的remote链接地址自动选择合适的私钥
创建并编辑~/.ssh/config
- 测试
执行git clone git@A.com:userA/xx即可下载A.com网站上xx仓库 - 一个注意点
该文讨论的情形清除掉全局的git配置,所以对git仓库来说需要设置local的git配置才能正常地实现提交。
git config --local user.name "userA"
git config --local user.email "a@mail"
上述内容编写自Git 多用户配置
本文创建于2021年3月6日16点56分,修改于2021年 05月 05日 星期三 11:53:47 CST
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验