【问题标题】:How to resolve remote SSH push github error如何解决远程 SSH 推送 github 错误
【发布时间】:2020-12-30 05:47:55
【问题描述】:

我已经创建了链接到 github 的 SSH 密钥。我正在尝试将文件远程推送到创建的存储库

这是我的代码

git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/username/demo_repo2.git
git push -u origin main

但它给了我错误:

git@github.com:权限被拒绝(公钥)。 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限 并且存储库存在。

我检查了 ssh 密钥是否已链接,确实如此。它甚至给予

git remote -v

origin  git@github.com:user/repo2.git (fetch)
origin  git@github.com:user/repo2.git (push)

我尝试了几乎所有的答案,但没有奏效。请有人帮助我

【问题讨论】:

标签: git github ssh remote-repository


【解决方案1】:

它不应该给你这个错误,因为你已经设置了一个 HTTPS URL:

git remote add origin https://github.com/username/demo_repo2.git

检查git config -l 是否有任何url."git@github.com:".insteadOf https://github.com/ 指令。

如果 git remote -v 确实为您提供了 SSH URL,则意味着第一个 git remote add origin 肯定失败了。
您可以使用以下命令强制使用 HTTPS URL:

cd /path/to/my/repo
git remote set-url  origin https://github.com/username/demo_repo2.git

【讨论】:

    【解决方案2】:

    您已创建 ssh 密钥并将公钥链接到您的 github 帐户,这需要首先完成。

    然后您需要将您的 RSA 密钥添加到您的 ssh-agent 并执行身份验证命令以测试您的密钥是否已与 github 同步。这些可以通过以下命令来完成。(将公钥添加到github之后)..

    eval "$(ssh-agent -s)"  // evaluate process ID
    ssh-add ~/.ssh/<required key> //add key to agent 
    ssh -T git@github.com 
    在这些之后你会得到这样的输出.. “您好 !您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。”

    【讨论】:

    • 我试过了,但是在第二个命令上,它不是从目录中识别 ssh 密钥
    • 在第二个命令中你应该添加私钥而不是公钥(即 .pub )
    猜你喜欢
    • 2019-04-07
    • 2019-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    相关资源
    最近更新 更多