git之ssh-keygen多key管理

# 创建ssh key并指定文件名
$ ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_github
$ ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_gitlab

配置ssh-key agent代理

// 查看系统ssh-key代理
$ ssh-add -l

// 如果系统已经有ssh-key 代理 ,执行下面的命令可以删除
$ ssh-add -D

上面创建的私钥添加到代理中

// 把 ~/.ssh 目录下的2个私钥添加的 ssh-agent
$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add ~/.ssh/id_rsa_gitlab
 
// 在 .ssh 目录创建 config 配置文件
$ vim ~/.ssh/config

如果提示权限问题, 先运行ssh-agent bash 命令后再执行 ssh-add;或者直接修改权限

$ chmod 700 ~/.ssh/id_rsa_github
 
$ chmod 700 ~/.ssh/id_rsa_gitlab

配置文件config添加以下内容

#  github 配置
Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_github
 
# gitlab配置(HostName为公司的git网址,User为用户名)
Host gitlab
    HostName gitlab.xxx.com
    User git
    IdentityFile ~/.ssh/id_rsa_gitlab