git 配置多个SSH-Key
项目托管的仓库多了,使用的账号多了,自然用到的key就不同了,比如gitlab
,gitee
,github
, 公司的code仓库等,所以管理好key很重要。
1、生成一个gitlab用的SSH-Key
$ ssh-keygen -t rsa -C "1_email@company.com” -f ~/.ssh/gitlab-rsa
2、生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C "2_email@github.com” -f ~/.ssh/github-rsa
此时,.ssh
目录(一般在C:\Users\Administrator\.ssh
目录下) 下应该有4个文件:gitlab-rsa
和gitlab-rsa.pub
,github-rsa
和github-rsa.pub
,分别将他们的公钥文件(gitlab-rsa.pub
,github-rsa.pub
)内容配置到对应的code
仓库上
具体配置SSH秘钥的位置在github/gitlab
网站的 个人信息
----> 设置/settings
----> SSH公钥/SSH public key
中设置。
3、添加私钥
$ ssh-add ~/.ssh/gitlab-rsa $ ssh-add ~/.ssh/github-rsa
如果执行ssh-add
时提示”Could not open a connection to your authentication agent”
,可以现执行命令:
$ ssh-agent bash# 然后再运行ssh-add命令。## 下面可省略.# 可以通过 ssh-add -l 来确私钥列表$ ssh-add -l# 可以通过 ssh-add -D 来清空私钥列表$ ssh-add -D
4、修改配置文件
# 若.ssh目录下无config文件,那么创建touch config# config文件中添加以下内容# gitee 码云Host gitee.com ## Host 这个指明的是HOST地址,也就是项目的HostName,如:git@gitee.com:ghostgithub/xUtils.git gitee.com就是其对应的Host(访问的项目的地址)HostName gitee.com ## HostName 就是访问的地址,如:https://gitee.com/ 就是其HostName(IP地址,访问的码云的网页上的url地址) (https://建议不要加上)PreferredAuthentications publickey ## 指明配置的是公钥IdentityFile ~/.ssh/gitee-rsa ## 指定弓腰的位置及文件# gitlabHost gitlab.comHostName gitlab.com PreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa# githubHost github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/github_rsa
5、测试
$ ssh -T git@github.com
输出
Welcome to GitLab, your name!