本文以配置github.com账号和公司账号来逐步演示在Windows环境下配置Git多账号支持即在同一个电脑上管理多个ssh-key,对git多一分了解。
1. 生成公司git服务器对应的私钥公钥(本文中文件地址C:\Users\czxyl171151\.ssh目录)
执行命令 ssh-keygen -t rsa -C email 创建github对应的sshkey,命名为id_rsa,密码 为空
ssh-keygen -t rsa -C 459005147@qq.com
2. 同样的方式生产github.com的私钥公钥(邮箱地址可以相同可以不同,本文相同)
执行命令ssh-keygen -t rsa -C email创建github对应的sshkey,命名为id_rsa_new,密码 为空
ssh-keygen -t rsa -f ~/.ssh/id_rsa_new -C 459005147@qq.com
3. 除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的
4. 把github对应的公钥和oschina对应的公钥上传到服务器
5. 在.ssh目录创建config文本文件并完成相关配置
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName 这个是真实的域名地址
IdentityFile 这里是id_rsa的地址
PreferredAuthentications 配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User 配置使用用户名
config文件配置如下:
# 配置公司git服务器
Host 域名地址
HostName 域名地址
IdentityFile C:\Users\czxyl171151\.ssh\id_rsa
PreferredAuthentications publickey
User wen
# 配置github
Host github.com
HostName github.com
IdentityFile C:\Users\czxyl171151\.ssh\id_rsa_new
PreferredAuthentications publickey
User wen