Git配置多个SSH-Key

有时候我们要管理多个git项目,或同时在用gitlab、github、小程序的tgit。当我们给一个项目配置了SSH-Key后,再去给另外一个项目配置SSH-Key会出现配置错误的提示,例如提示:Key has already been taken。对于该问题,我们可以通过生成多个SSH-Key来解决。然后在~/.ssh目录下添加config配置文件用于区分多个SSH-Key。
如:公司的gitlab生成一个SSH-Key

ssh-keygen -t rsa -C "chenyan900520@126.com" -f ~/.ssh/gitlab_id-rsa

小程序1生成一个SSH-Key

ssh-keygen -t rsa -C "271961730@qq.com" -f ~/.ssh/love_id-rsa

小程序2生成一个SSH-Key

ssh-keygen -t rsa -C "3200294168@qq.com" -f ~/.ssh/warehouse_id-rsa

在~/.ssh目录下添加config配置文件用于区分多个SSH-Key

# 添加config配置文件
# vi ~/.ssh/config

# 文件内容如下:
# gitlab
Host gitlab.yopoint.vip
    HostName gitlab.yopoint.vip
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa
# love
Host git.cloud.tencent.com
    HostName git.cloud.tencent.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/love_id-rsa
# warehouse
    Host git.cloud.tencent.com
        HostName git.cloud.tencent.com
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/warehouse_id-rsa

# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径

生成文件如下图:


image.png

再次执行git命令已经不再提示权限验证问题

推荐阅读更多精彩内容