SSH 公钥在“git clone”命令上被拒绝

Posted

技术标签:

【中文标题】SSH 公钥在“git clone”命令上被拒绝【英文标题】:SSH Public key denied on "git clone" command 【发布时间】: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 上。

【问题讨论】:

【参考方案1】:

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

    必须以 ssh-rsa 开头 必须是一行 格式如下: 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 将是随机数

以上是关于SSH 公钥在“git clone”命令上被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

Ansible git clone github 权限被拒绝(公钥)

github后台上传了ssh公钥之后git clone依然Permission denied

git clone时报错Permission denied (publickey)

ssh配置git clone简易流程

git clone项目

git clone 失败问题解决方案