环境: win7 + gitbash
有时候在工作和学习时我们有不同的github账户,可能不同项目还有不同的ssh key,或者既有github账户又有码云账户以及自己的gitblit账户,比如我有两个github两个码云以及一个gitblit,一个ssh key怎么够啊摔,所以不同账户的key要好好管理,从本地跑去提交的时候才不会迷路ヽ( ̄▽ ̄)ノ
生成ssh-key
在git-bash输入ssh-keygen -t rsa -C '用户邮箱'
为了便于管理,Enter file in which to save the key
最好输入存放key的文件名称,如/c/Users/你的用户名/.ssh/ssh-test
,然后enter到最后就可以了~
注:如果没有输入目录则生成的文件在命令行运行的目录下,默认名称id_rsa
,建议将key统一放在C:\Users\你的用户名\.ssh
目录下
生成之后在目录下可以看到:
修改配置文件
编辑.ssh
目录下的config
文件(没有则创建),格式如下;1
2
3
4
5
6Host 别名(如github1)
User 用户名
Hostname github.com(这里才是真正的主机名)
PreferredAuthentications publickey
IdentityFile 存放公钥的文件(如~/.ssh/id_rsa)
IdentitiesOnly yes
重点来了,本地项目下的.git/config
文件中的remote地址一定要跟config文件中的别名对应!
以github的ssh地址为例:
Host为github001
,那么remote地址就为git@github001:你的用户名/你的项目地址
下图左边是我的ssh config配置,右边是两个项目的.git/config配置,可以看到url和host别名是一一对应的(第一个是github,第二个是gitblit)