【问题标题】:SSH Public key denied on "git clone" commandSSH 公钥在“git clone”命令上被拒绝
【发布时间】:2010-12-21 20:56:22
【问题描述】:

我正在尝试克隆我在 GitHub 存储库中分叉的 git 存储库。它是一个 rails 应用程序。我想在我的本地 git 上克隆它,以便我可以将它推送到 heroku。我生成了一组 rsa 密钥并将其复制到我的 GitHub 公钥上。当我尝试 git clone "public url" 时,它说公钥被拒绝。我尝试了ssh git@github.com 来验证我的密钥,它还说公钥被拒绝。我已经尝试了几种不同的方法来使其工作,但仍然没有。我试图在我的 .ssh 文件夹上将权限更改为 600 和 700。我还尝试添加 dsa 密钥,因为 rsa 不起作用。请帮我。谢谢。 :)

顺便说一句,我在 Vista 上。

【问题讨论】:

    标签: git ssh github heroku ssh-keys


    【解决方案1】:

    我遇到了同样的问题。 检查您的公钥文件的内容:

    1. 必须以 ssh-rsa 开头
    2. 必须是一行
    3. 格式如下: ssh-rsa manysymbolshere== somekeyname

    如果您在 Windows 中使用 puttygen 生成密钥 - 不要将公钥保存到磁盘上的文件中 - 它将包含 cmets,您必须在复制到服务器之前将其删除。 将公钥复制到剪贴板,然后使用记事本保存到 *.pub 文件。

    【讨论】:

      【解决方案2】:

      复制您计算机上的公钥,即~/.ssh/id_rsa.pub(用记事本打开)

      将此密钥粘贴到您的 github 帐户的“添加 SSH 密钥”部分。

      注意:如果不存在 ssh 密钥,请使用 ssh-keygen -t rsa 生成 ssh 密钥

      【讨论】:

        【解决方案3】:

        考虑使用 ForwardAgent 选项。

        尝试添加:

        Host * 
            ForwardAgent yes
        

        到本地机器上的 /etc/ssh/ssh_config。

        【讨论】:

          【解决方案4】:

          SSL certificate rejected trying to access GitHub over HTTPS behind firewall 看起来是一个非常相似的问题。当我没有设置密钥时,我从from those answers 快速克隆 git 存储库的一种解决方案是:

          export GIT_SSL_NO_VERIFY=true
          

          然后克隆出去。

          【讨论】:

            【解决方案5】:

            在这里回答一个非常古老的线程,但我在 Cygwin 上,只需要这样做才能开始使用我在 phpfog.com 上新创建的网站

            首先,我在 cygwin 中运行:

            exec ssh-agent bash
            ssh-add ~/.ssh/private-key-name
            

            然后我收到了:

            Identity added: /home/scott/.ssh/private-key-name (/home/scott/.ssh/private-key-name)
            

            【讨论】:

            • 这为我解决了一些非常烦人的git clone 问题。为什么 SSH/SSL 身份管理必须永远如此迟钝?
            • 对我来说,它只为启动的 bash 窗口添加身份(我在 Cygwin 上),但在我关闭它之后,命令行命令继续拒绝公钥。有没有机会使这种变化永久化?
            • 这解决了我的 git push origin master Springloops 问题。太棒了,谢谢!
            【解决方案6】:

            如果你在Linux上,你可以试试keychain工具来管理SSH代理。

            【讨论】:

              【解决方案7】:

              经过大量谷歌搜索,我找到了this answer。在添加密钥之前,我必须启动 bash 引擎。我也将我的应用从 github 克隆到本地服务器。

              【讨论】:

                【解决方案8】:

                您可以尝试使用ssh-add 添加私钥吗?

                【讨论】:

                • 我试过了,它说无法打开与您的身份验证代理的连接。
                • eval $(ssh-agent) 无法解决任何问题,因为如果代理没有运行,那么代理 pid 将是随机数
                猜你喜欢
                • 1970-01-01
                • 2021-11-11
                • 1970-01-01
                • 1970-01-01
                • 2020-07-02
                • 1970-01-01
                • 1970-01-01
                • 2011-11-25
                • 1970-01-01
                相关资源
                最近更新 更多