EdwardJ

Stay Hungry Stay Foolish

0%

MacOS下创建多个ssh

平常开发过程中,只要用到git就会涉及到ssh,本文简要记录MacOS下ssh的创建,以及如何支持多个ssh

创建ssh

生成ssh key 公钥

1
$ ssh-keygen -t rsa -C "你的git邮箱账号例如:xxx@qq.com"

创建的时候会有两次输密码,这里输入的密码就是你用ssh提交时候的密码,可以不设,直接回车。

创建成功会看到如下结果

进入目录 ~/.ssh/可以看到id_rsaid_rsa.pub

  • id_rsa是生成的私钥
  • id_ras.pub是公钥

设置ssh key

我们用gitee举例,其他都一样
然后到gitee -> 头像,设置 -> ssh公钥
id_ras.pub将里面的内容复制到公钥里面,标题可以不管,然后保存。

验证设置

终端输入

1
$ ssh -T gitee.com

如果有提示选择yes是no,输入yes

成功后结果如下

设置多个ssh

日常工作中,难免会githubgiteegitlab都使用到的情况,那如何让多个git都支持ssh呢?

在创建rsa的时候,可以用不同文件名来区分不同的git,最后再用config文件来配置。

1
$ ssh-keygen -t rsa -C "你的git邮箱账号例如:xxx@qq.com" -f ~/.ssh/id_rsa_这里输入区分的名字 比如:id_rsa_gitee

用此方法,来区分不同git的文件,然后会生成不同的私钥和公钥

然后在不同的平台,设置对应的ssh key

创建config

为了让ssh能被git区分,可以在rsa文件夹里编辑config文件,如果该文件没有,就手动创建一个,有就直接编辑

这里要注意 HostName,如果你的git是公司的私有的,而且只有ip地址,那HostName写对应的ip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# gitlab 备注
Host gitlab.com #Host只用来做名称,可以和HostName一样
HostName 192.168.2.110 #私有地址
User admin #对应git上的用户名
PreferredAuthentications publickey #公钥验证
IdentityFile ~/.ssh/id_rsa_gitlab #对应的文件名

# github
Host github.com
HostName github.com
User admin1
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

# gitee
Host gitee.com
HostName gitee.com
User admin2
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee

配置完成后,记得验证一下

1
2
3
$ ssh -T github.com
$ ssh -T gitee.com
$ ssh -T 192.168.2.110

如果之前的库已经是用http clone下来的,可以用sourcetree直接转换

如果内容对你有用,赏我一杯咖啡未尝不可^_^