在上海分公司时用gitlab保持代码同步,但前往深圳或者北京出差,gitlab环境可能会更改,且各分公司都是SSH的方式clone代码。所以需要在电脑上配置多个gitlab的ssh-key。
查看我的所有SSH.Key
$ cd ~/.ssh/ $ ls beijing_gitlab_id-rsa beijing_gitlab_id-rsa.pub shanghai_gitlab_id-rsa shanghai_gitlab_id-rsa.pub known_hosts ...
这里有一共有两个SSH-Key,一个是beijing(北京)gitlab代码仓库的ssh-key,另一个是shanghai(上海)gitlab仓库的ssh-key。key在mac电脑上默认是 ( ~/.ssh/ ),步骤2命令中可以自行更改(不建议)。
配置步骤
# 在~/.ssh/目录会生成xxx_gitlab_id-rsa和xxx_gitlab_id-rsa.pub私钥和公钥。我们将xxx_gitlab_id-rsa.pub中的内容粘帖到公司GitLab服务器的SSH-key的配置中。
$ ssh-keygen -t rsa -C "XXXXXX@XXX.com” -f ~/.ssh/shanghai_gitlab_id-rsa
$ ssh-keygen -t rsa -C "XXXXXX@XXX.com” -f ~/.ssh/beijing_gitlab_id-rsa
在~/.ssh目录下添加config配置文件用于区分多个SSH-Key
# 添加config配置文件 # vi ~/.ssh/config # 文件内容如下: # 上海gitlab配置 Host shanghai.xxxx.gitlab.com HostName shanghai.xxxx.gitlab.com(可以写ip) PreferredAuthentications publickey IdentityFile ~/.ssh/shanghai_gitlab_id-rsa #北京gitlab配置 Host beijing.xxxx.gitlab.com HostName beijing.xxxx.gitlab.com(可以写ip) PreferredAuthentications publickey IdentityFile ~/.ssh/beijing_github_id-rsa # 配置文件参数 # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile : 指明上面User对应的identityFile路径
拉取代码不需要总输入命令,长期存储密码命令:
git config --global credential.helper store
大功告成!!
参考文章:https://blog.csdn.net/birdben/article/details/51824788