有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,GitHub存储库存在,我不知道现在该做什么。
> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,GitHub存储库存在,我不知道现在该做什么。
> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
当前回答
GitHub无法验证你的身份。所以,要么你没有安装SSH密钥,因为你还没有在你的机器上设置一个,要么你的密钥没有与你的GitHub帐户相关联。
您还可以使用HTTPS URL而不是SSH/git URL来避免必须处理SSH密钥。这是GitHub推荐的方法。
此外,GitHub有一个专门针对该错误消息的帮助页面,并更详细地解释了您可以检查的所有内容。
其他回答
TLDR:
确保您拥有对回购的写访问权限(从回购的设置中进行配置)。 确保公钥在你的github帐户的SSH和GPG密钥中。
对我来说,这个错误通常发生在我试图从新安装的机器上克隆一些repo时。当收到请求时,github将首先检查公钥哈希。如果公钥不匹配任何用户,github将拒绝此请求。如果机器是新的,并且您的ssh密钥是新生成的,则这种情况很常见。
允许对密钥(标识)进行写访问,然后单击“添加密钥”
如果在Windows上,请检查通过SSH使用Github中的更多详细信息。
同样在ubuntu中,即使在BitBucket的设置中已经输入了SSH密钥,我还是遇到了这个问题。原因是,我尝试了以下几点:
sudo git push origin master
不知道为什么,但它解决了使用
git push origin master
没有使用sudo。
是的,我也有这个问题:/我要把我的项目推到Github的HTTP类型(不是SSH类型)。每次推送时我都必须输入用户名和密码。 因此,首先我输入了与以下类型相关的代码
git remote add origin git@github.com:YOUR-GIT/YOUR-REPO.git
我得到了
git@github.com:拒绝权限(publickey)。 无法从远程存储库读取。
因此,我通过以下方法解决了我的问题
Git远程rm来源删除你的Git远程存储库 Git远程现在检查您的远程存储库是否已被删除
网址= https://github.com/<username>/<repository>.git
再次添加您的URL,使远程存储库 Git push -u origin master 您可以将内容推送到远程存储库。在这里,当你在命令中使用"-u"时,你创建了一个跟踪分支,并且在远程存储库中的跟踪分支的帮助下,你不会告诉git你在接下来的步骤中推送哪个分支:) 如果你使用linux, git会在推送内容前询问用户名和密码。并提供你的相关证书。
为了防止在每次推送中提供用户名和密码,您必须更改git配置
对于列出你的git配置- git config——global——list 你会看到
user.name=<your_username>
user.email=<your_email>
所以你必须添加证书。Helper属性添加到git配置中 这个
5.Git配置——global——添加证书。助手存储将此添加到您的终端 现在你可以添加新的项目到你的文件,然后git add., git commit -m "<message>", git push 现在git也会要求你的用户名和密码,这将是最后一次。下一个git推送git不会向你请求用户名和密码:)
确保SSH -add -l显示存在于Github帐户的SSH密钥列表中的SSH密钥的指纹。
如果输出为空,但你知道你有一个与你的github帐户一起使用的私有SSH密钥,在这个密钥上运行SSH -add(在~/. SSH中找到。默认情况下,它被命名为id_rsa,因此您可能会运行ssh-add id_rsa)。
否则,按照下面的说明生成SSH密钥对。