今天在提交代码到远程分支的时候突然报错:
Please make sure you have the correct access rights and the repository exists,用翻译软件翻译了一下:请确保您具有正确的访问权限并且存储库存在。大概意思就是ssh key有问题,连接不上服务器,这个时候我们就需要重新生成一下ssh绑定到github,也顺便整理一下怎么使用ssh绑定GitHub/Gitee远程仓库。
解决步骤:
-
1.设置用户名和邮箱
git config --global user.name "你的昵称" // git config --global user.name "chuxiao"
git config --global user.email "你的邮箱" // git config --global user.email "zh.chuxiao@gmail.com"
-
2.删除.ssh文件夹下的known_hosts(如果之前生成过ssh)
在 C:\Users\用户名 这个目录之下找到 .ssh 文件夹,删除 .ssh 文件夹下的known_hosts
3、打开终端执行 ssh-keygen 命令生成对公私钥
ssh-keygen -t rsa -C "你的邮箱" // ssh-keygen -t rsa -C "zh.chuxiao@gmail.com"
输入命令回车后会出现以下提示
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\chuxiao/.ssh/id_rsa):在这里就是设置存储地址了.我们直接按回车即可。
- 如果正常运行的话,会出现:
Enter passphrase (empty for no passphrase): // 输入密码(无密码为空)这里无密码的话直接回车就可以了。
- 如果出现以下提示,这说明你已经设置过存储地址
C:\Users\chuxiao/.ssh/id_rsa already exists. // C:\Users\chuxiao/.ssh/id_rsa 已经存在 Overwrite (y/n)? // 覆盖(y/n)?我们输入“y”覆盖,之后回车就会出现上面那个提示,跟上面一样直接回车即可。
接下来就是下一个提示:
Enter same passphrase again: // 再次输入相同的密码上面我们的密码为空,所以这里直接回车就行。
回车之后你就会看见:
The key fingerprint is: SHA256:9qtd7V7+pMGgJ2KXNCro/iH6M9omYe87Gza7SlfDQA4 zh.chuxiao@gmail.com The key's randomart image is: +---[RSA 3072]----+ | E . | | + | | o | | o | | + S o . | | o o o + + + | | ..oB o + * o + o| | ..**= + + = . * | | +O@O. ..o .+ +| +----[SHA256]-----+出现这段提示就说明SSH key已经生成了。文件目录就在
C:\Users\用户名这个目录之下的.ssh文件夹
4.我们执行cat命令查看文件的内容:
继续在终端执行以下命令:
cat C:\Users\ө\.ssh\id_rsa.pub复制打开的
id_rsa.pub文件内的所有内容
5.将新生成的ssh key添加到GitHub
打开github.com/登陆你的账户,进入Settings(设置)>>
![]()
然后进入ssh设置>>
![]()
点击 New SSH key 按钮
将我们复制好的ssh粘贴进去,这里的Title是标题,随便输入一个就好。
添加完成以后点击 Add SSH Key 按钮就成功添加了
6.验证是否成功,在终端输入ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:
Hi UserName! You've successfully authenticated, but GitHub does not provide shell access.这就表示已成功连上github。