查看已有ssh key
首先确保能够查看隐藏目录,进入C:\Users\XXXXX.ssh目录,查看是否生成过密钥。
id_rsa.pub和id_rsa分别为一对公/私密钥
多个账户可再次创建密钥,但默认的名字需要修改,不能相同,否则会被提示是否重写
默认为id_rsa,因此第二个密钥我修改了名字为id_rsa_lbx
生成ssh key
ssh-keygen -t rsa -C “youremail@yourcompany.com“
蓝色加粗字体为你的邮箱,不同ssh key需要绑定不同邮箱
如果已经生成多个ssh key,如上图,则跳过此步
设置ssh key的代理
首先查看代理
ssh-add -l
如果提示
Could not open a connection to your authentication agent.
则系统代理里没有任何key,执行如下操作
exec ssh-agent bash
若系统已经有ssh-key 代理 ,可以删除
ssh-add -D
添加私钥
添加两个私钥
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_lbx
添加公钥
在目标账户github的ssh管理页面,添加对应的公钥(刚才生成的ssh key,如id_rsa.pub 等以.pub结尾的文件内容)。
新建并编辑配置文件config
在 ~/.ssh 目录下新建一个config文件
touch ~/.ssh/config
添加内容
方法一
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/ id_rsa
user git
其中,id_rsa 为你要关联的账户对应的密钥,电脑需要关联哪个账户,这边就写哪个
如此,ssh就会根据登陆的不同域,来读取对应的私钥文件
如需要用到其他账户的远程仓库,则在此处修改目标仓库生成的ssh key即可。
方法二
同时将两个ssh key同时写入,但区分Host名称即可,并且对应的ssh key文件对应好。
并且以后在github.com前面加上前缀(Host名称),就可以跳转到各个账号的仓库。
测试
ssh -T git@github.com
若出现
Hi XXX! You’ve successfully authenticated, but GitHub does not provide shell access.
则表示成功。查看XXX是否为关联的账户
可以查看分支,看看对应的仓库地址:
选择仓库
拉:
git pull lbx-AIO main
解决冲突:
idea处理即可
提交:
git add .
git commit -m ‘XXX’
推:
git push lbx-AIO main