问题描述:
今天想要从git上拉一份新的代码,首先使用idea拉去,失败报错没有权限,如下图:
Cloning into 'xxx'...
Permission denied, please try again.
Permission denied, please try again.
git@code.odrcloud.cn: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
然后使用本地git,查看本地用户是否和git上是否是同一个账号,因为拉取公司的git有权限,只有赋予权限的账号才可以拉去代码,发现也没问题:
git config user.name
$ git config user.email
账号和邮箱都没问题,然后试一下使用git直接clone项目
还是不行,到这里基本确定,是密码的问题了。
首先我们去到.sh目录下,看下密码是不是在的
这里看到密码是在的没有问题。那就是我们git里面配置的秘钥有问题,想了一下,大概三个月前,我本地更新了一次秘钥,但是没有更新git上的,这个气啊。。
这个地方一gitlab为例:
1)打开id_rsa.pub,复制里面的内容,全部复制。
2)打开设置中心
3)找到ssh秘钥设置,在红框里面粘贴复制出来的秘钥,然后点击确定即可。
当然,如果你的.sh下面没有秘钥,那你需要先生成一个秘钥,然后再把秘钥配置到git里面。如果你连emal和username也没有,那就先生成一个再配置到git上面
进入.sh目录
cd ~/.ssh/
先在本地设置你的name和email
git config --global user.name “这个地方写名称”
git config --global user.email “这个地方写邮箱123@163.com”
然后生成密码
ssh-keygen -t rsa -C “你上面输入的邮箱123@163.com”
如果你以前可能生成过密钥,那么会提醒你是否要覆盖(y/n)?这个地方直接输入y并回车即可。
总结就是一路回车,然后就可以在本地生成秘钥。
做个记录,以备不时之需。