(Git/Github笔记)Git Bash生成ssh-rsa——Permission denied(publickey).fatal:Could not..Please make sure you

目录

  • 1.前言
  • 2.错误情况
  • 3.解决错误
  • 4.Github设置密钥
  • 5.Git与Githun连接测试
  • 6.解决问题
  • 7.总结


1.前言

        在使用git push出现没有权限连接Github上的远程仓库,经过查阅资料,需要在Github登录状态在settings中添加SSH key,与本机的密钥相匹配,才能建立远程连接,那么本机工程项目在push时就有权限了。


 2.错误分析

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git clone git@github.com:xxxxx/GitTest_Login.git
Cloning into 'GitTest_Login'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights

# 本机安装的Git应用程序没有权限访问使用公开密钥的github官网
git@github.com: Permission denied (publickey).

# 本机Git版本库与远程Github版本库,两个仓库不能建立连接
fatal: Could not read from remote repository.

# 请确保拥有正确的访问权限并且存储库存在
Please make sure you have the correct access rights
and the repository exists.

        说明:我这里使用命令“git clone”,从github远程仓库克隆项目到本机时,发生无权限错误提示。不论是“git clone”或者“git push”推送本机项目到到github远程仓库,两个仓库没有建立连接,均会出现Permissin denied,首先需要解决授权仓库连接问题。

***Github远程版本库与Git本机版本库要求使用 SSH Key 来验证***


3.解决错误

        (1)使用本机Git Bash 命令行工具生成SSH key使用命令ssh-keygen -t rsa -C "xxx.@qqcom"——如下:

        说明:生成密钥后,会在本机C盘的用户User目录,自动生成.ssh目录(id_rsa私钥、id_rsa.pub公钥),用于存放命令生成的密钥对。作用于本机Git版本库调用Git命令时,与远程仓库Github进行密钥相互匹配成功后,能真实有效建立两个仓库的远程连接,增加本机版本库与远程版本库的安全性。

         (2)查看命令生成的SSH密钥,使用命令cat ~/.ssh/id_rsa.pub

        说明:cat查看显示出来SSH密钥不方便copy,我们可以使用“Git GUI here ”图形化工具,快捷复制密钥到剪切板

        (3)快捷copy桌面鼠标右键——Git GUI here——Help——Show SSH key


4.Github设置密钥

        (1)登录Github官网:https://github.com右上角头像图标——settings

         (2)创建SSH密钥:SSH and GPG keys——New SSH key

         (3)开始创建SSH密钥:Tiltle——key——Add SSH key

***Github远程版本库与Git本机版本库SSH Key 匹配验证成功,就有权限操作项目了***


 5.Git与Githun连接测试

         在上面已经使得本机Git版本库Github版本库SSH方式建立远程连接,那么应该在配置SSH keys 后,在Git Bash工具中,测试远程连接状态信息,使用命令:ssh git@github.com,如下:

6.解决测试

        使用“git push --set-upstream origin master”命令,将本机Git版本库推送项目到远程版本库Git中,如下:

——git push -u origin master :本机Git版本库master推送到远程Github版本库origin,同时默认指定origin

——git push:默认推送当前分支,simple方式

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   asdasd.txt

no changes added to commit (use "git add" and/or "git commit -a")

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git add asdasd.txt

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git commit -m "文件"
[master 69e2a8d] 文件
 1 file changed, 1 insertion(+), 1 deletion(-)

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)
$ git push --set-upstream origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 302.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:GuiZhouAndroid/qe.git
   9d90c4f..69e2a8d  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

ZSAndroid@DESKTOP-6LMLR19 MINGW64 ~/Desktop/qe (master)

7.总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电竞丶小松哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值