媒介
本人有两个git账号,一个github的私人号,一个gitlab的工作号,必要在windows下设置git多账号。
实现在同一个Idea中拉取不同GitLab/GitHub的代码,开发,Commit,Push等操作,互不干扰
一、天生git账号对应的公钥密钥?
1.github的设置
找到win环境下的安装的Git软件,打开Git软件的目次,点击打开Git Bash Here的控制台里
输入以下命令:
- git config --global user.name "git私人号的名称"
- git config --global user.email "git私人号的邮箱"
复制代码
天生github的密钥
- ssh-keygen -t rsa -C "git私人号的邮箱"
复制代码
进入密钥目次可以看到天生了一对(id_rsa密钥/id_rsa.pub公钥)。
注意:在Enter file in which to saven the key(/c/User/666/.ssh/is_rsa): 这句话,是默认公钥密钥的名字为id_rsa,如果想要必要命名为别的的,可以写/c/User/666/.ssh/你必要的名字。
添加密钥到ssh-agent
ssh-agent是一种控制用来生存公钥身份验证所使用的私钥的步伐,
可以明白为“ssh-agent就是一个密钥管理器,运行ssh-agent以后,
使用ssh-add将私钥交给ssh-agent保管,
别的步伐必要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。
将天生的ssh-key添加到ssh-agent
ssh-add ~/.ssh/名字
2.gitlab的设置
在Git Bash Here的控制台里输入
- git config --global user.name "git工作号的名称"
- git config --global user.email "git工作号的邮箱"
复制代码
继续实行命令ssh-keygen -t rsa -C user.email
- #生成gitlab的密钥
- ssh-keygen -t rsa -C "git工作号的邮箱"
复制代码 然后命名为id_rsa_company与github的私人号的公钥密钥区分开
注意:此处路径/c/Users/666/, 视个人路径而定
- #将gitlab的密钥命名为id_rsa_company
- /c/Users/666/.ssh/id_rsa_company
复制代码 进来密钥目次可以看到天生了一对(id_rsa_company密钥/id_rsa_company.pub公钥)
添加密钥到ssh-agent
ssh-agent是一种控制用来生存公钥身份验证所使用的私钥的步伐,
可以明白为“ssh-agent就是一个密钥管理器,运行ssh-agent以后,
使用ssh-add将私钥交给ssh-agent保管,
别的步伐必要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。
将天生的ssh-key添加到ssh-agent
ssh-add ~/.ssh/名字
- ssh-add ~/.ssh/id_rsa
- _company
复制代码
二、添加多账号设置文件config
在Git Bash Here的控制台里创建文件:touch config
在Git Bash Here的控制台里输入命令:vi config
输入如下内容(由于该控制台使用的是linux规则,在输入前必要按一下字母键i,在linux下表示写;写完按Esc 输入:后按下WQ这两个字母键,此时在.ssh/目次下就有了config文件,注意没有后缀):
该文件分为多个用户设置,每个用户设置的说明:
Host 设置的别名(这里是自界说的host简称,以后毗连远程服务器就可以用命令ssh myhost)
HostName 填写是目的主机的主机名,也就是平时我们使用ssh反面跟的地址名称(ssh地址“git@”反面到冒号前面的内容)
Port 端口 (如果使用标准端口22,则可以省略端口设置。如果不是,请添加对应的端口设置,一样平常某些私有部署的git仓库会更换端口号)
IdentityFile是对应的密钥文件(该host后台设置的公钥对应的私钥地址的绝对路径)
PreferredAuthentications: 设置登录时用什么权限认证 ,设为(publickey, password publickey, keyboard-interactive 等,一样平常使用publickey即可,git仓库均为这种情势)
User云端仓库登任命户名
在命令模式下,输入:wq大概:x,按下回车键,即可生存并退出 vi。
也可以使用笨方法:创建完config后,使用Notepad++工具打开,将多用户设置信息添加进去。
三、把公钥添加进github和gitlab账号中
用编辑器打开id_rsa.pub/id_rsa_company.pub使用Notepad++,默认编码utf-8,拷贝里面的全部内容。
1.登录github平台,添加私人号公钥
公钥标题任意写
2.登录gitlab平台,添加工作号公钥
某账户下的ssh key:某个账号的最高级key,只要是这个账号有的权限(任何项目),都能进行操作
某仓库的deploy keys:某个仓库的专有key,用这个key,只能操作这个项目,别的项目都没有权限
注意:此处ssh key是加到 某账户下的ssh key
某账户下的ssh key
登录进去后,点击Preferences-> SSH Keys
公钥标题任意写,将前面gitlab的公钥id_rsa_company.pub内容复制进来
四、远程测试毗连
测试链接是否乐成, 这里的github、gitlab是config文件中设置的Host
一样平常我们测试连通性时要输入:ssh -T git@gitlab.com 必要网站的域名,在.ssh文件的config设置之后直接使用主机名即Host的值代替网站名
注意:git和@中间没有空格
eg:
ssh -T git@github
github:运行命令后如果出现“Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.”,此中“xxxx”为你设置的 User 名字,这时设置显示乐成了~
ssh -T git@gitlab
gitlab:运行命令后如果出现“Welcome to GitLab, @xxxx!”,此中“xxxx”为你设置的 User 名字,这时设置显示乐成了~
仅作为参考
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |