我克隆了一个私人存储库,将其分叉,并对功能分支进行了一些更改。当我尝试将这些更改推送到存储库时,我收到以下消息:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我尝试从 Windows 计算机控制面板>凭据中删除 git 凭据,但它仍然显示相同的错误。
我是否有可能必须从终端登录和退出 git?如果是这样的话,我该怎么做?
我也尝试使用 git push --set-upstream origin 进行推送,但它只是向我显示了相同的错误。
你们中有人以前见过这个吗?
预先感谢,
埃里克
“救命,我推送时总是收到‘权限被拒绝(公钥)’错误!”
这意味着,在您的本地计算机上,您尚未创建任何 SSH 密钥。不用担心。修复方法如下:
- 打开 git bash(使用 Windows 搜索。要查找它,请输入“git bash”)
或 Mac 终端。专业提示:您可以使用任何基于 *nix 的命令
提示符(但不是默认的 Windows 命令提示符!)
- 输入 cd ~/.ssh。这将带您进入 Git 的根目录
(在 Windows 上可能是 C:\Users[您的用户名].ssh\)
- 在 .ssh 文件夹中,应该有这两个文件: id_rsa 和
id_rsa.pub。这些文件告诉您的计算机如何
与 GitHub、BitBucket 或任何其他基于 Git 的服务进行通信。
输入 ls 查看目录列表。如果这两个文件没有显示
上,继续下一步。注意:您的 SSH 密钥必须命名
id_rsa 和 id_rsa.pub 以便 Git、GitHub 和 BitBucket
默认情况下识别它们。
- 要创建 SSH 密钥,请键入 ssh-keygen -t rsa -C
”[电子邮件受保护] /cdn-cgi/l/email-protection“。这将创建 id_rsa 和
id_rsa.pub 文件。
- 现在,在您最喜欢的文本编辑器中打开 id_rsa.pub (您可以这样做
如果您愿意,可以通过 Windows 资源管理器或 OSX Finder 进行此操作,输入 open
。将打开该文件夹)。
- 复制内容——与显示的一样,
id_rsa.pub 中没有多余的空格或行并将其粘贴到
帐户设置 > SSH 密钥下的 GitHub 和/或 BitBucket。笔记:
我喜欢给 SSH 密钥起一个描述性的名称,通常带有名称
我所在的工作站以及日期。
- 现在您已将公钥添加到 Github 和/或 BitBucket,
再次尝试 git push 看看是否有效。它应该!
更多帮助可从关于创建 SSH 密钥的 GitHub https://help.github.com/en/articles/connecting-to-github-with-ssh.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)