
一般情况下,我们都是一台电脑配置一个git账号,可以是GitHub账号,也可以是
oschina(码云)账号或者是gitLab账号。我之前用过GitHub和oschina,今天公司配置了一个内部的gitLab。这就涉及到一个问题,如何在一台电脑上配置两个或者是两个以上的git账号。
这里以在一台电脑上同时配置oschina(码云)账号和内部的gitLab账号为例:
(1)生成并部署SSH key
打开git bash,输入以下命令生成 SSH Key
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 1
-首先生成和部署gitLab的SSH key
在相应的.ssh目录下会生成名为id_rsa私钥文件和id_rsa.pub公钥文件, 打开id_rsa.pub公钥文件,复制里面的公钥添加到gitLab的添加SSH秘钥处。
然后在git bash中输入以下命令测试gitLab的SSH秘钥是否部署成功。 这里的139.198.189.75是公司内部的gitLab的地址ssh -T git@139.198.189.75 1
出现以下提示,表示部署gitLab的SSH key成功
到这里gitLab的账号配置就成功了。 -下面开始生成和部署oschina(码云)的SSH key。 但是这里要注意生成秘钥文件时,不能再使用默认的文件名id_rsa, 否则会覆盖之前的gitLab的秘钥文件。 这里保存为id_rsa_oschina:ssh-keygen -t rsa -f ~/.ssh/id_rsa_oschina -C "2856992713@qq.com"1
这时候就会在.ssh目录下又生成一对公私钥文件,同样是打开公钥文件id_rsa_oschina.pub,复制里面的公钥添加到oschina中添加SSH秘钥处。
(2)添加秘钥到SSH Agent
生成 ssh keys1、任意目录下右击鼠标选择Git Bash Here或者win+r输入cmd回车打开终端;
2、在改终端下输入命令:
ssh-keygen -t rsa -C "youname@example.com"
这时可以一路回车,不输入任何字符,将会在C:\Users\Administrator\.ssh下自动生成id_rsa和id_rsa.pub文件。
注意:双引号换成自己的邮箱,如果linux下遇到权限问题,只需在前面加上sudo
2
github添加SSH keys
将id_rsa.pub里面的内容复制下来,在github上的settings里面找到add keys,将其粘贴到key即可,title唯一即可随便填,建议写有意义的
具体过程如图:
3
测试
在控制台上测试一下,输入:
ssh -T git@github.com
只要看到最后一行Hi chenlianjiang! You've successfully authenticated, but GitHub does not provide shell access,说明验证成功了
END
gitlib帐号添加SSH keys
生成 ssh keys
这时候在生成ssh key时候要注意了这时一路回车,不输入任何字符在绑定gitlibng的ssh key时,会发现将github的ssh key覆盖了;不要着急,下面跟着我一起 *** 作。
打开终端,终端下输入命令:
ssh-keygen -t rsa -C "youname@example.com"
这时,给这个文件起一个名字, 比如叫C:\Users\Administrator\.ssh\ id_rsa_gitlib, 所以相应的也会生成一个 id_rsa_gitlib.pub 文件。
注意这里如果只输入文件名会在终端的当前目录下生成,拷贝到对应位置即可;
添加私钥
终端输入一下命令:
$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_gitlib
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add
如果出现Could not open a connection to your authentication agent.错误提示先执行$ ssh-agent.exe bash,然后执行上面命令;
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
添加配置文件
在~/.ssh/目录下新建config文件,并添加如图所示内容:
gitlib添加SSH keys
将id_rsa_gitlib.pub里面的内容复制下来,在gitlib上的账户里面找到所示SSH keys,将其粘贴到key内容即可,Title唯一即可随便填,,点击添加需要输入登录密码;
具体过程如图:
5
测试
在控制台上测试一下,输入:
ssh -T git@域名
只要看到最后一行Welcome to GitLab, chenlj!,说明验证成功了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)