多域名下的SSH
前言
有时候我们,有多个 git 账号(Gitlab、GitHub),这时候如果是同一个账号(邮箱注册),那不会有问题,但是如果不是相同的账号呢,我们在使用 SSH KEY 做免密登录时候,头痛了。
这个时候我们需要针对不同的账号,生成不同的 SSH Key,并且配置不同的域名使用不同的Key
生成一个 SSH KEY
ssh-keygen -t rsa -C "username@email.com"
一路 Enter,并且在生成时候指定名字,(不指定名字会使用默认的)得到
id_rsa # 私钥
id_rsa.pub # 公钥
重复上一个步骤,生成多个 私钥和公钥
github_id_rsa
github_id_rsa.pub
gitlab_id_rsa
gitlab_id_rsa.pub
配置相应的域名对应的 SSH-KEY
- 本地目录
~/.ssh/
下,查阅有没有config
文件, 不存在就新建config
文件
Host github
HostName github.com
User UserName
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
Host gitlab
HostName gitlab.com
User UserName
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
将密钥添加进入 SSH-AGENT 中
ssh-add ~/.ssh/github_id_rsa
ssh-add ~/.ssh/gitlab_id_rsa
查看密钥
ssh-add -l
将生成的 公钥 加入到对应的网站里面 SSH KEY 配置
下面就可以使用 git clone git@github.com/****
git clone git@gitlab.com/****
关于 Mac 下 每次开机 需要重新 ssh-add 解决办法
- 添加自启动程序
- 说一个简单的,将 ssh-add ~/.ssh/**id_rsa 添加到 .*shrc 文件里面去