-
- 开始前, 先把全局配置清除了
- git config --global --unset user.name
- git config --global --unset user.email
- 例如我要在以下 Git 服务器的账户添加公钥:
111.111.111.111 的git 服务建一个 aaa@mail.com 账户的 key
222.222.222.222:888 的git 服务建一个 bbb@mail.com 账户的 key
-
- 添加秘钥文件
ssh-keygen -t rsa -C aaa@mail.com
出现以下提示,别着急回车
出现如上提示,让你输入文件路径和文件名,括号内是默认的,此时你要自定义你的全路径,没有什么要求,就是你的多个账户生成的多个秘钥全路径要分开,不然会被覆盖。Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):
例如这里输入 /root/.ssh/ aaa_rsa , 然后一路回车就行
同理生成第二个秘钥:
ssh-keygen -t rsa -C bbb@mail.com
例如这里输入 /root/.ssh/ bbb_rsa , 然后一路回车就行
然后你会在 /root/.ssh/ 目录下看到 aaa_rsa, aaa_rsa.pub, bbb_rsa, bbb_rsa.pub 四个文件 - 把公钥添加到 git 里
使用以下命令输出 .pub 文件里的内容,复制所有内容
粘贴到对应账户的 ssh key 中cat /root/.ssh/aaa_rsa.pub
bbb 账户同理
- 在 .ssh 目录下创建 config 文件
vim /root/.ssh/config
#aaa (aaa 配置) Host 111.111.111.111 HostName 111.111.111.111 User aaa@mail.com IdentityFile ~/.ssh/aaa_rsa #bbb (bbb 配置) Host 222.222.222.222 HostName 222.222.222.222 port 888 // 如果不是默认端口22, 此处需要设置 User bbb@mail.com IdentityFile ~/.ssh/bbb_rsa
- 添加密钥( windows下用 gitbash 客户端执行命令 )
ssh-agent bash
ssh-add -l // 查看现有密钥
exec ssh-agent bash // 如果提示 agent 不存在, 则执行这个命令切换,
ssh-add -D // 清空现有密钥
ssh-add ~/.ssh/id_rsa // 有其它的, 就都挨个添加 - ssh -vT git@github.com // 测试通了没有
然后就可以愉快的拉代码了
下载地址要用 git@ 开头的, 不能用 http 的
(以上 ip 也可以是域名,看你们的 git 服务器怎么配置的了)