两个oschina账号:
[email protected] (账号01)
[email protected] (账号02)
1.生成并部署账号01的 SSH key
打开 git bash,输入以下命令生成 SSH key:
ssh-keygen -t rsa -C "[email protected]"
在电脑相应的C:\Users\admin.ssh目录下会生成名为id_rsa私钥文件和id_rsa.pub公钥文件,打开id_rsa.pub公钥文件,拷贝里面的全部内容,将其添加到oschina账号01的SSH公钥处。
2.生成并部署账号02的 SSH key
打开 git bash,输入以下命令生成 SSH key:
ssh-keygen -t rsa -f /c/users/admin/.ssh/id_rsa_qq -C "[email protected]"
在电脑相应的C:\Users\admin.ssh目录下会生成名为id_rsa_qq私钥文件和id_rsa_qq.pub公钥文件,打开id_rsa_qq.pub公钥文件,拷贝里面的全部内容,将其添加到oschina账号02的SSH公钥处。
3.添加密钥到 SSH Agent
打开 git bash,输入以下命令添加密钥:
ssh-agent bash
ssh-add /c/users/admin/.ssh/id_rsa
ssh-add /c/users/admin/.ssh/id_rsa_qq
4.创建并配置config文件
在.ssh目录下创建一个config文件(无后缀)。
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile即可。
#配置[email protected]
Host git.oschina.net
HostName git.oschina.net
IdentityFile C:\\Users\\admin\\.ssh\\id_rsa
PreferredAuthentications publickey
User [email protected]
#配置[email protected]
Host git.oschina.net.qq
HostName git.oschina.net
IdentityFile C:\\Users\\admin\\.ssh\\id_rsa_qq
PreferredAuthentications publickey
User [email protected]
5.测试是否配置成功
打开 git bash,输入以下命令测试是否配置成功:
ssh -T [email protected]
ssh -T [email protected]
6.取消全局的用户名和邮箱配置
因为一台电脑上配置了多个git账号,所以就不能再配置全局的用户名和邮箱了,而是在不同的仓库下,配置相应的局部用户名和邮箱即可。
打开 git bash,输入以下命令取消全局配置:
git config --global --unset user.name
git config --global --unset user.email
7.为某个仓库配置用户名和邮箱
进入某个仓库根目录,打开 git bash,输入以下命令为其配置局部用户名和邮箱:
git config user.name "xxx1"
git config user.email "[email protected]"
git config --list (查看配置)
常见问题
01.“The authenticity of host xx can’t be established”
解决办法:
A.修改C:\Program Files\Git\etc\ssh\ssh_config文件
在文件的最后,添加如下内容后保存
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
B.重新启动sshd服务
打开 git bash,输入以下命令重启sshd服务:
/etc/init.d/sshd restart ( 或 service sshd restart )