因为公司自己搭建了私有的git平时都用这个配置了账号密码,但是自己最近有个项目需要用到外网的github,每次都要输入账号密码太烦了,所以两个都配置上。
一、配置.ssh文件
1、没有找到.ssh
文件
进入C:\Users\hao\.ssh定位到.ssh
目录下,如果没有找到.ssh
,查看是否被隐藏掉了;如果还是没有的话,执行下面命令
ssh-keygen -t rsa -C"你的github邮箱地址"
一路回车就行(默认私钥名称为id_rsd\公钥为id_rsd.pub\密码为空),就会在C:\Users\【你得当前windows用户】\路径下看到.ssh
文件夹,
2、配置
-
进入
.ssh
目录下,可以将原有的id_rsa
和id_rsa.pub
删掉,然后在此目录下打开git bash
1、输入并回车:ssh-keygen -t rsa -C"你的第一个github邮箱地址"
2、输入并回车(这个是私钥的名称,可以随意取):id_rsa_one
3、输入密码和再一次确认密码可以为空,回车
4、在.ssh
目录下会出现私钥id_rsd_one
和公钥id_rsa_one.pub
5、打开公钥id_rsa_one.pub
,将内容copy到第一个github的SSH keys中 -
同理,配置第二个github邮箱地址
1、输入并回车:ssh-keygen -t rsa -C"你的第二个github邮箱地址"
2、输入并回车(这个是私钥的名称,可以随意取):id_rsa_second
3、输入密码和再一次确认密码可以为空,回车
4、在.ssh
目录下会出现私钥id_rsd_second
和公钥id_rsa_second.pub
5、打开公钥id_rsa_second.pub
,将内容copy到第二个github的SSH keys中 - 然后在
.ssh
目录下,新建一个config
文件,配置内容如下:Host
和User
名称可以随意取,好辨识就行;HostName
为github.com;IdentityFile
配置为相应的私钥文件
# one Host onegithub HostName github.com User one IdentityFile ~/.ssh/id_rsa_one # second Host secondgithub HostName github.com User second IdentityFile ~/.ssh/id_rsa_second
- 然后执行如下命令
ssh-agent bash ssh-add id_rsa_one ssh-add id_rsa_second
- 然后测试一下,测试命令
ssh -T git@onegithub
和ssh -T git@secondgithub
。如果显示如下,表明成功:
Hi XXX! You‘ve successfully authenticated, but GitHub does not provide shell access.
- 然后
1、取消global的user和email
git config --global --unset user.name
git config --global --unset user.email
2、设置每个项目repo的自己的user.email
git config user.email "你的第一个github邮箱地址"
git config user.name "one"
git config user.email "你的第二个github邮箱地址"
git config user.name "second"