需求:
1.需要将代码托管到多个平台上,这就需要为每个托管平台设置SSH-key
2.需要将代码托管到码云上,一机多账号的情况
第一种情况:(以gitLab和gitee为例)
1.生成 公司用的 SSH-Key:
$ ssh-keygen -t rsa -C 'guohuanyu@jsb5.com' -f ~/.ssh/gitlab_id_rsa
2.生成 个人用的 SSH-Key:
$ ssh-keygen -t rsa -C "812066587@qq.com" -f ~/.ssh/gitee_id_rsa
C盘的Administrator下的.ssh文件夹会有如下文件
3.配置公钥:将.pub结尾的公钥内容分别粘贴到对应的gitlab和gitee的设置公钥的位置中
4.添加私钥(不设置私钥的内容,密码就为空)
$ ssh-agent bash
$ ssh-add ~/.ssh/gitlab_id_rsa $ ssh-add ~/.ssh/gitee_id_rsa
成功后显示这类语句:
添加成功后可通过下方语句查看私钥列表
$ ssh-add -l
可通过下方语句删除私钥列表
$ ssh-add -D
5.修改配置文件
在.ssh文件中新建config文件
touch config
在config文件中添加如下内容
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:/Users/Administrator/.ssh/gitee_id_rsa
# giteem
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:/Users/Administrator/.ssh/gitee_private_rsa
# gitlab
Host 130.10.8.210
HostName 130.10.8.210
PreferredAuthentications publickey
IdentityFile C:/Users/Administrator/.ssh/gitlab_id_rsa
6.测试:
$ ssh -T git@gitee.com
$ ssh -T git@130.10.8.210
7.注意:
当配置多个SSH-key时,如果想要通过webstorm克隆项目时,需要将file-settings-搜索git-将SSH executable(可执行的) 设置为native(天然的)而不是 built-in(固定的,内置,嵌入的)
第二种情况:
我有多个码云账号,切换不同账号下载不同账号中的不同项目
生成公钥后,配置一下私钥即可,在config文件夹后加入相关配置。