多域名下的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 文件里面去
comments powered by Disqus