大家好,欢迎来到IT知识分享网。
背景
本人
gitlab使用的是ssh提交
github使用的是https提交
动力
前两天github发了一个公告,说不再支持https方法了,可能是因为不安全
所以,我要把当前所有github项目的https转为ssh
方法
一、再次生成公钥、私钥
首先我们要保证有两个ssh,一个github的一个gitlab的,当然,你要是偷懒这两个用一个密钥那我无话可说,规范些的话就搞两个邮箱(公司的+自己的)。
我的 /.ssh文件夹已经有这三个文件了(当时配置gitlab时生成的)
所以,我们要生成,github的公钥
git config --global user.name "你github的用户名"
git config --global user.email "你github的邮箱"
这时候,我们跑到 .ssh文件夹下
ssh-keygen -t rsa -C "你的github账号对应的邮箱"
这时候提示你要输入公钥的名字,千万不要和gitlab的公钥名重复,我这里叫 github
密码继续回车(默认为空)
查看私钥
cat github.pub
二、私钥放到github远端
完事,将他添加到远端(github 私钥那里)
此时,你的 .ssh下是这样的
三、配置两种不同的ssh key
(1) 首先需要将密钥添加到SSH agent中,因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:
ssh-add ~/.ssh/github
(2)如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:
ssh-agent bash
ssh-add ~/.ssh/github
(3) .ssh文件夹下 创建config文件(没有后缀,只叫config),内容如下:
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
# gitlab (不配置config,默认走这里)
Host gitlab.com
HostName https://git.guahao-inc.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
四、验证是否配置成功
验证github
ssh -T git@github.com
提示 successfully就是成功了
五、github的 https转为ssh
查看远端地址,肯定是https的
git remote -v
显示
https://github.com/fujinting/vue-react-node-blog.git
重设为
git remote set-url origin git@github.com:fujinting/vue-react-node-blog.git
再看一下,是否改过来了
git remote -v
显示
git@github.com:fujinting/vue-react-node-blog.git
这时候,算是成功了,可以推拉代码了
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21789.html