解决git@github.com: Permission denied (publickey). Could not read from remote repository

本文详细解析了SSH连接中Permissiondenied(publickey)错误的原因,包括客户端与服务端的sshkey不匹配或未生成。提供了生成sshkey的命令,如何在GitHub上配置sshkey,以及验证连接是否成功的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因分析

Permission denied (publickey) 没有权限的publickey ,出现这错误一般是以下两种原因

  • 客户端与服务端未生成 ssh key
  • 客户端与服务端的ssh key不匹配

找到问题的原因了,解决办法也就有了,重新生成一次ssh key ,服务端也重新配置一次即可。

客户端生成ssh key

ssh-keygen -t rsa -C "470812087@qq.com"

470812087@qq.com改为自己的邮箱即可,途中会让你输入密码啥的,不需要管,一路回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key。) 

然后再终端下执行命令:

ssh -v git@github.com

最后两句会出现

  No more authentication methods to try.  
  Permission denied (publickey).

在终端再执行以下命令

ssh-agent -s 

接着在执行

ssh-add ~/.ssh/id_rsa

$ ssh-add ~/.ssh/id_rsa
出现Could not open a connection to your authentication agent.
这时可以使用:ssh-agent bash 命令,然后再次使用ssh-add ~/.ssh/id_rsa_name这个命令就没问题了。
如下:

Identity added: ...这是ssh key文件路径的信息

配置服务端

打开你刚刚生成的id_rsa.pub,将里面的内容复制,进入你的github账号,在settings下,SSH and GPG keys下new SSH key,然后将id_rsa.pub里的内容复制到Key中,完成后Add SSH Key。

title随便起 

验证Key

ssh -T git@github.com 
$ ssh -T git@github.com
Hi 470812087! You've successfully authenticated, but GitHub does not provide shell access.

提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 问题就解决啦

### 回答1: ied (publickey). 这是一个Git命令执行时可能出现的错误提示,意思是权限被拒绝,无法使用公钥进行认证。这通常是因为用户没有正确配置SSH密钥或者没有将公钥添加到GitHub账户中所致。要解决这个问题,需要检查SSH密钥是否正确配置,并确保公钥已经添加到GitHub账户中。 ### 回答2: git@github.com: permission den这个错误信息通常出现在你尝试连接到GitHub远程服务器时出现问题。出现这个问题的主要原因可能是你没有正确的权限或凭据,或者是与你的SSH密钥或认证相关的问题。 具体来说,当你在终端窗口中尝试执行git命令时,如果你缺乏适当的权限或者遇到其他问题,你可能会看到类似“permission denied”这样的错误消息。这个错误信息通常暗示着你的计算机或者网络中存在一些问题,不能成功的访问到GitHub服务器。 为了解决这个问题,你需要采取一系列措施。首先,你需要确保你的GitHub账户凭据正确无误,并且你已经通过你的SSH密钥或认证向GitHub注册了你的计算机。你还需要检查你的操作系统和网络设置是否正确,以确保你的计算机能成功地连接GitHub服务器。 如果你遇到了“permission den”的问题,你还可以尝试按照下面的步骤进行处理: 1.检查你的SSH密钥或认证,确保它们与你GitHub账户关联的SSH密钥或认证完全一致。 2.检查你的网络设置,确保你的计算机能够成功地连接到GitHub服务器。 3.尝试使用一个不同的网络连接,或者使用其他设备连接到GitHub服务器。 4.检查你的操作系统和软件是否有任何更新,如果有,请确保你的更新已经完成。 总之,“permission den”这个错误信息通常是由于网络或个人认证问题导致的,你需要采取一系列措施来解决这个问题。一旦你成功地连接到GitHub服务器,你就可以开始使用git进行版本控制和协作开发。 ### 回答3: git@github.com: permission deniedGIT 使用过程中出现的一个常见错误。这个错误主要是因为在您访问 Github 代码库时,没有提供正确的身份验证或者没有具有足够权限的 SSH 公钥。如果您无法提供正确的凭据,那么您将受到权限拒绝的错误。 要解决这个问题,首先需要确保您在 Github 上具有足够的权限。如果您正在使用的是一个私有仓库,您需要确保您已经被添加到这个仓库的访问列表中,才能够访问。如果您没有被添加到仓库的访问列表中,您可以向仓库管理员发送请求,请求具有访问权限。 其次,要解决这个问题,您需要确保您的 SSH 公钥已经正确地添加到您在 Github 上的账户中。如果您没有添加正确的公钥,您将无法访问 GitHub 代码库。为了添加 SSH 公钥,请打开您的 Github 账户设置,找到 SSH 和 GPG keys, 然后添加您的 SSH 公钥。 最后,如果上述两个步骤无法解决您的问题,您可以尝试使用 HTTPS 代替 SSH 进行 GIT 操作。使用 HTTPS 进行 GIT 操作时,您需要输入账户名和密码,而不是 SSH 公钥。要切换到 HTTPS,您需要在 checkout / clone 的链接中将 "git@" 替换为 "https://"。 总的来说,要解决 Git@github.com: permission denied 的错误,您需要首先确保您具有访问权限和正确的 SSH 公钥,然后可以尝试使用 HTTPS 代替 SSH 进行 GIT 操作。
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值