多站点配置SSH-Key

多站点配置SSH-Key

相信很多用mac在开发的同学都会遇见一个问题:会根据业务不同往不同的git服务器上提交代码。这些库有私有的有公有的,这时候就需要配置SSH_Key了。

生成SSH-Key

打开终端 (terminal)

  • gitee(码云) · 秘钥对
    使用以下命令生成gitee的秘钥对
    【注意】emailaddress 填写自己的邮件地址
1
ssh-keygen -t rsa -C "emailaddress" -f ~/.ssh/gitee_id_rsa
  • github · 秘钥对
    使用以下命令生成github的秘钥对
    【注意】emailaddress 填写自己的邮件地址
1
ssh-keygen -t rsa -C "emailaddress" -f ~/.ssh/github_id_rsa

添加私钥

这个步骤是把私钥添加到当前设备,本地的不需要网络

添加 gitee 私钥

1
ssh-add ~/.ssh/gitee_id_rsa

添加 github 私钥

1
ssh-add ~/.ssh/github_id_rsa

添加公钥

和私钥不一样的是公钥是添加到git服务器的,所以这操作主要是在网页上进行的

添加 gitee 公钥
显示出gitee的公钥

1
cat ~/.ssh/gitee_id_rsa.pub

将展示出的以ssh-rsa开头,然后以刚才你输入的emailaddress结尾的内容全部复制

添加至gitee的SSHKey公钥

添加 github 公钥
显示出github的公钥

1
cat ~/.ssh/github_id_rsa.pub

将展示出的以ssh-rsa开头,然后以刚才你输入的emailaddress结尾的内容全部复制

添加至github的SSHKey公钥

创建Config
在 ~/.ssh/目录下创建一个配置文件,来为秘钥使用做配置

1
cd ~/.ssh/

使用vim命令进行config文件的创建和编辑

1
vim config

然后文件写入以下内容

添加以下内容

1
2
3
4
5
6
7
8
9
10
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

然后配对秘钥

主要测试当前秘钥是否可用

配对gitee秘钥

1
ssh -T git@gitee.com

gitee的测试会让输入 yes

连接gitee成功之后会显示以下信息

Welcome to Gitee.com, yourName!

配对github秘钥

1
ssh -T git@github.com

连接github成功之后会显示以下信息

Hi yourName! You’ve successfully authenticated, but GitHub does not provide shell access.