关于window配置gitlab和gitee平台共存

avatar
作者
猴君
阅读量:0

今天使用gitlab拉取代码突然提示 git@gitlab.xxx.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
以为是ssh公钥没有配置好,遂又进行了一番配置,实际上并不是这个问题造成的,但还是想记录一下步骤,以免下次配置时又是一番搜索

1、如果已经安装过git并且进行过git全局设置,需要清除

查看是否进行过全局设置 git config --global --list ,如果已经设置过会显示你的邮箱和名字

$ git config --global --list core.autocrlf=false core.askpass= credential.https://gitee.com.provider=generic safe.directory=D:/project/biotemed safe.directory=D:/project/visual-list safe.directory=D:/WebProject/vue3-demo url.https://.insteadof=git:// user.email=xxxxxxxxxx@outlook.com user.name=xxx 

清除设置

$ git config --global --unset user.name "你的名字" $ git config --global --unset user.email "你的邮箱" 

2、生成新的ssh keys

找到.ssh文件夹,一般都是在C盘里,C:\Users\Administrator.ssh,打开bash终端,输入以下命令生成密钥文件

$ cd C:\Users\Administrator\.ssh  // 1.gitlab $ ssh-keygen -t rsa -C "你的gitlab邮箱" -f id_rsa_gitlab -C "GitlabAccount"  // 1.gitee $ ssh-keygen -t rsa -C "你的gitee邮箱" -f id_rsa_gitee -C "GiteeAccount" 

期间会要求输入密码,不用输入,直接敲三下回车即可
生成之后.ssh文件夹下会有中间四个文件
在这里插入图片描述
然后创建config文件,注意没有后缀名

// 把第一行和第二行修改成自己公司的gitlab地址 # gitlab     Host gitlab.xxxx.com     HostName gitlab.xxxx.com     PreferredAuthentications publickey     IdentityFile ~/.ssh/id_rsa_gitlab     User git # gitee     Host gitee.com     HostName gitee.com     PreferredAuthentications publickey     IdentityFile ~/.ssh/id_rsa_gitee     User git 

3、把对应的公钥放到gitlab和gitee上

gitlab:
找到 id_rsa_gitlab.pub 文件,打开复制其中内容,然后粘贴到gitlab上添加SSH密钥
在这里插入图片描述
gitee:
找到 id_rsa_gitee.pub 文件,打开复制其中内容,然后粘贴到gitee上添加SSH密钥,gitee点击确认后需要输入密码
在这里插入图片描述

4、测试

Gitee 测试

$ ssh -T git@gitee.com 
$ ssh -T git@gitee.com Warning: Permanently added the ECDSA host key for IP address '180.97.125.228' to the list of known hosts. Hi fengmi! You've successfully authenticated, but GITEE.COM does not provide shell access. 

显示successfully,即配置成功

GitLab 测试
git@git.xxxxcn 是gitlab的仓库地址

$ ssh -T git@git.xxxx.cn 

显示welcome to gitlab,即配置成功

另外
我这里测试gitlab 提示,并没有成功,但是不影响使用http的方式,有时间遇到gitlab提示Permission denied (publickey,gssapi-keyex,gssapi-with-mic). ,也有可能是使用ssh方式拉取的,换成http就可使用

Administrator@DESKTOP-7CIE2UQ MINGW64 ~/.ssh $ ssh -T git@git.xxxx.com ssh: Could not resolve hostname git.xxxx.com: Name or service not known 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!