打开本地ssh文件
open ~/.ssh
新建两个ssh
//公司
ssh-keygen -t rsa -C XXX
个人github
ssh-keygen -t rsa -C GitHub
私钥添加到本地
ssh-add ~/.ssh/XXX
ssh-add ~/.ssh/GitHub
公钥添加到代码仓库
一般登陆进仓库,然后点击个人头像->设置->SSH就可以设置
私钥添加到本地
ssh-add ~/.ssh/XXX
ssh-add ~/.ssh/GitHub
为了检验本地是否添加成功,可以使用ssh-add -l命令进行查看
配置ssh
在~/.ssh文件夹下新增config文件(touch config)(存在则直接打开)
#别名,随意取
Host XXX
# 代码仓库网站的域名
HostName gitee.com
#指定优先使用哪种方式验证,支持密码和秘钥验证方式
PreferredAuthentications publickey
User git
# 使用的密钥文件 IdentityFile ~/.ssh/id_rsa_Balopy_gitee
#别名,随意取
Host GitHub
# 代码仓库网站的域名
HostName github.com
#指定优先使用哪种方式验证,支持密码和秘钥验证方式
PreferredAuthentications publickey
User git
IdentityFile ~/.ssh/GitHub
⚠️注意点
HostName和User的设置一定要根据代码仓库支持的方式设置。可以去github或者gitlab的代码仓库直接看
测试连接
对应上面设置的别名
ssh -T GitHub
使用
假如本地已有仓库,直接改本地代码仓库的git的config文件
[remote "origin"]
url = https://github.com/vuejs/vue.git
fetch = +refs/heads/*:refs/remotes/origin/*
改成
[remote "origin"]
url = git@github.com:vuejs/vue.git
fetch = +refs/heads/*:refs/remotes/origin/*
假如要拉取新仓库代码 直接复制SSH链接 git clone即可
配合gauseen/gum使用
npm i -g @gauseen/gum
切换不同账号,使用ssh提交代码时切换账户名和email
$ gum list
Currently used name=gauseen email=gauseen@gmail.com
┌────────────┬─────────┬─────────────────────────┐
│ group-name │ name │ email │
├────────────┼─────────┼─────────────────────────┤
│ global │ gauseen │ gauseen@gmail.com │
│ user1 │ li si │ lisi@gmail.com │
│ user2 │ wang er │ wanger@gmail.com │
└────────────┴─────────┴─────────────────────────┘