多个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客户端,执行如下命令
eval `ssh-agent -s`
ssh-add C:/Users/xx/.ssh/id_rsa_a
ssh-add C:/Users/xx/.ssh/id_rsa_b
ssh-add -l
通过ssh-add命令,公钥对应的东西从一个邮箱字符串变为私钥文件(可能默认对应的私钥文件为id_rsa,由此公私钥不匹配,报出错误)
- 管理密钥
在本地创建密钥配置文件,根据仓库的remote链接地址自动选择合适的私钥
创建并编辑~/.ssh/config
Host A.com
HostName A.com
User userA
IdentityFile ~/.ssh/id_rsa_a
Host B.com
HostName B.com
User userB
IdentityFile ~/.ssh/id_rsa_b
- 测试
执行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
最新文章
- 堆排序与优先队列——算法导论(7)
- Struts2中的ModelDriven机制及其运用
- [Note] changing building platform from vs 2013 to vs community 2015
- Linux内核--网络栈实现分析(一)--网络栈初始化
- 关于tabBar的图片不能正常显示问题
- LR:Code - 60990,Code - 10343 问题解决
- Font Awesome 4.0.3 字体图标完美兼容IE7
- jsoncpp第二篇------API
- Android安全开发之WebView中的大坑
- Nginx location 匹配规则详解
- luogu1397 [NOI2013]矩阵游戏 (等比数列求和)
- tcp为什么是三次握手
- SyntaxHighlighter行号显示错误问题解决方案
- Python爬虫个人记录(二) 获取fishc 课件下载链接
- 20145209 实验一《Java开发环境的熟悉》实验报告
- Power Designer逆向工程导入Oracle表,转为模型加注释
- Python:Python的运行过程
- jquery api 常见api 效果操作例子
- Put queue for MemoryTransaction of capacity 10000 full, consider committing more frequently, increasing capacity or increasing thread count flume capacity 时间数
- SpringBoot学习(1)