Git也用了比较久了,虽然很多高级的用法还没摸着门道,但有些知识还是值得记录的,这里把在系统中配置多个ssh key的方法记录一下,完成后可以为不同的网站启用不同的ssh key,为不同的项目配置不同的username和email。 其实在不同的网站都使用默认的ssh key也没问题,但隔离开来更为清晰安全,也能避免一些将来的误操作。
系统默认配置
在刚使用git时,会先生成一个默认的ssh公私钥对,在Windows上可以直接使用Git GUI来生成, 在*unix和Windows的git bash中也可以使用命令行生成: 1
ssh-keygen -t rsa -C "a@github.com"
1
ssh -vT git@github.com
1
2git config –-global user.name "a"
git config –-global user.email "a@github.com"
配置多个ssh key
通过指定文件名称即可生成其它的ssh key: 1
ssh-keygen -t rsa -C "b@gitlab.com" -f ~/.ssh/gitlab_id_rsa
1
2
3
4
5
6
7
8
9
10
11ServerAliveInterval 60
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Host gitlab.com
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
为项目单独设置username和email
最开始已经全局设置了username和email,但是如果在不同的网站使用的是不同的username和email,还需要为项目进行单独设置。 进入项目目录后,执行如下命令即可: 1
2git config user.name "b"
git config user.email "b@gitlab.com"