平常开发过程中,只要用到
git
就会涉及到ssh
,本文简要记录MacOS下ssh
的创建,以及如何支持多个ssh
创建ssh
生成ssh key 公钥
1 | $ ssh-keygen -t rsa -C "你的git邮箱账号例如:xxx@qq.com" |
创建的时候会有两次输密码,这里输入的密码就是你用ssh提交时候的密码,可以不设,直接回车。
创建成功会看到如下结果
进入目录 ~/.ssh/
可以看到id_rsa
和id_rsa.pub
id_rsa
是生成的私钥id_ras.pub
是公钥
设置ssh key
我们用gitee举例,其他都一样
然后到gitee -> 头像,设置 -> ssh公钥
将id_ras.pub
将里面的内容复制到公钥里面,标题可以不管,然后保存。
验证设置
终端输入
1 | $ ssh -T gitee.com |
如果有提示选择yes是no,输入yes
成功后结果如下
设置多个ssh
日常工作中,难免会
github
,gitee
,gitlab
都使用到的情况,那如何让多个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 | # gitlab 备注 |
配置完成后,记得验证一下
1 | $ ssh -T github.com |
如果之前的库已经是用http clone下来的,可以用sourcetree直接转换