同时使用gitee和gitlab
如果已经安装过git,并且对user.name 和 user.email进行过全局设置,要清空全局设置如:
用 git config --global --list 进行查看你是否设置
如图,已经设置过,需要删除:
$ git config --global --unset user.name “xxxxxx”
$ git config --global --unset user.email “xxxx”
使用命令生成gitlab的秘钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C “xxxxxx”
-f 代表生成后的秘钥要保存的地址。
-C 后面是你取的名字,一般是邮箱
继续生成gitee的秘钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitee -C “xxxxxx”
完成秘钥的生成后,会在用户文件夹下的.ssh文件夹中生成id_rsa_gitlab和id_rsa_gitee的文件
我的目录是: C:\Users\X1 Yoga.ssh
其中,id_rsa.gitee.pub和id_rsa.gitlab.pub就是存储gitee和gitlab公钥的,打开这两个文件,把文件内容复制到
gitee和gitlab上,公钥就添加完毕了。
进入C:\Users\X1 Yoga.ssh目录下(用户目录),新建一个config文件,或者在客户端上输入命令touch ~/.ssh/config
文件内容如下:
# gitlab
Host gitlab
HostName 192.xxxxxxxx
PreferredAuthentications publickey
IdentityFile ~\.ssh\id_rsa_gitlab
# gitee
Host gitee
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~\.ssh\id_rsa_gitee
字段意思如下:
Host
它涵盖了下面一个段的配置,我们可以通过他来替代将要连接的服务器地址。
这里可以使用任意字段或通配符。
当ssh的时候如果服务器地址能匹配上这里Host指定的值,则Host下面指定的HostName将被作为最终的服务器地址使用,并且将使用该Host字段下面配置的所有自定义配置来覆盖默认的/etc/ssh/ssh_config配置信息。
Port
自定义的端口。默认为22,可不配置
User
自定义的用户名,默认为git,可不配置
HostName
真正连接的服务器地址
PreferredAuthentications
指定优先使用哪种方式验证,支持密码和秘钥验证方式
IdentityFile
指定本次连接使用的密钥文件
配置完之后,使用命令测试连通性
ssh -T git@gitee
ssh -T git@gitlab
连接成功!