管理 github / gitlab 的多个密钥

ssh / git / gitlab / github

如果你在 gitlab 或 github 上有多个账户,又使用了不同的密钥,那么稍微配置一下 可能会让你的生活更简单一些

问题

我在 gitlab 上创建了一个新用户,并使用了一个新的密钥,但是在 git clone 时 遇到了一个问题,git 默认使用了我之前的密钥,导致 clone 失败

解决

默认登陆账户的配置

ssh 会把每个地址的登陆方式保存在 ~/.ssh/config 中,比如:

Host gitlab.com
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa

为同一站点配置多个密钥

如果我们要为同一个站点再配置一个密钥,只需要注意一点:取一个不同的名字, 比如这次我们添加一个

Host gitlab-tricks1
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa2

使用

这样我们就可以用新的配置啦,不过还需要一点点修改,一般我们从 gitlab 上复制下来的 地址是这样的:

[email protected]:collection/project.git

这个配置还是会对应到 id_rsa 这个密钥,因为 ssh 认为 host 还是 gitlab.com, 我们需要修改成:

git@gitlab-tricks1:collection/project.git

甚至可以写得更简单:

gitlab-tricks1:collection/project.git

因为用户名也已经写在 config 中了