有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,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的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不会向你请求用户名和密码:)
其他回答
我在'git push'期间得到相同的错误。在客户端,我有两个起源和主人。我拿掉了一个,然后它就正常工作了。
如果您在连接您的企业Github帐户时遇到问题,请按照以下步骤进行
解决方案1
ERROR: git@github.com: Permission denied (public key). fatal: Could not read
from remote repository. Please make sure you have the correct access
rights
解决方案(OSX)
打开终端并执行以下命令 $ CD ~ $ sudo su ssh - keygen美元 输入要保存密钥的文件(/var/root/.ssh/id_rsa): $ id_rsa Enter passphrase(空表示没有passphrase): $ hit Enter 再次输入相同的密码:$ hit Enter $ CD ~/.ssh $ cat id_rsa.pub 复制显示内容。 打开GitHub单击您的配置文件图标设置>SSH和GPC密钥 单击新的ssh键按钮 输入您复制的任何标题和键 检查您的问题是否已经解决
解决方案2
ERROR 2: remote: Password authentication is not available for Git operations.
remote: You must use a personal access token or SSH key.
remote: See https://github.compnay.com/settings/tokens or https://github.compnay.com/settings/ssh
fatal: unable to access 'https://github.company.com/repo/app.git/': The requested URL returned an error: 403
密码认证支持已于2021年8月13日移除。请改用个人访问令牌。
https://namespaceit.com/blog/remote-support-for-password-authentication-was-removed-on-august-13-2021-please-use-a-personal-access-token-instead
是的,我也有这个问题:/我要把我的项目推到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连接GitHub,您可以运行以下命令来确认这一点。
$git config --get remote.origin.url
如果您得到的结果格式如下:git@github.com:xxx/xxx.github.com.git,那么您应该执行以下操作。
生成SSH密钥(或使用现有密钥)。如果你有一个,你只需要将你的密钥添加到ssh-agent(步骤2)和你的GitHub帐户(步骤3)。
下面是那些没有SSH密钥的人。
步骤1生成rsa公私钥对。
$ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
系统会要求您确认保存SSH密钥的位置以及您想使用的密码短语。
步骤2在ssh-agent中添加密钥
确保ssh-agent已启用 $eval "$(ssh-agent -s)" 将SSH密钥添加到SSH -agent: ssh-add ~ / . ssh / id_rsa美元
步骤3在帐号中添加SSH密钥
安装xclip
$xclip -sel clip < ~/.ssh/id_rsa.pub
然后将复制的密钥添加到GitHub
进入“设置”->SSH密钥(个人设置侧栏)->添加SSH密钥->填写表单(密钥在剪贴板上,只需使用ctrl+v)->添加密钥
通过以上步骤,您应该可以解决权限问题。
参考链接: 生成SSH密钥。
我想补充一些我的发现:
如果您正在使用GitBash,那么请确保SSH密钥存储在~/. SSH /id_rsa中。
默认情况下,git会搜索~/。ssh/id_rsaas ssh密钥的默认路径。
甚至文件名id_rsa也很重要。如果您将SSH密钥保存在另一个文件名或路径中,它将抛出Permission Denied(publickey)错误。