2010-03-30 67 views

回答

4

troubleshooting guide

权限被拒绝(公钥)

这通常是由于SSH时,无法找到 你的钥匙。确保您的密钥是 ,默认位置是〜/ .ssh。如果 你再次运行ssh-keygen,只需要 按回车就可以了3条提示,它会自动将 放在这里。然后你 可以将id_rsa.pub的内容添加到我的github密钥的 。如果id_rsa.pub不是 请尝试使用id_dsa.pub。如果您只有一个rsa密钥,您可能需要 生成一个带有ssh-keygen的新dsa密钥 -t dsa。

如果您仍然有问题,并 没有工作上面的,你可能有 从Debian 开放SSH漏洞被列入黑名单的关键。你应该更新 open-ssh并重新生成你的密钥。

所以,只需要检查 - 您的密钥是否可以在〜/ .ssh /中以id_rsa和id_rsa.pub或其他方式提供,您是否指定了它们的用途?

+0

我发现这样做是在这里发帖之前。当然我的钥匙在〜/ .ssh中。 – Ockonal 2010-03-30 14:45:43

+1

那么,优秀的是那个dir设置为0600的烫手?只是遇到可能错误的东西,因为它看起来像ssh-agent或ssh并没有拿起你的密钥。 – 2010-03-30 14:49:51

0

请注意,ssh-agent是每个会话(每个终端)。使用ssh代理管理器,如keychain(请参阅其设置文档)以通过任何会话(从任何术语)进行访问。

12

生成后ssh键我按照jamesw的建议执行下面列出的命令。

$ ssh-add ~/.ssh/id_rsa 

我输入了我的密码。然后重新尝试克隆heroku存储库。这次它工作正常。

2

我能得到gitlab工作感谢这个线程(我知道这不是github)。

我也发现@jamesw的答案是正确的。

我最终不得不删除我的known_hosts文件,并使用与我的gitlab帐户相同的密码重新创建我的ssh密钥。

然后我做了ssh-add并做了一个git push -u origin master。成功!

感谢大家的帮助。

UPDATE:
我决定重拍我的SSH密钥没有密码,再次遇到了这个错误。

这一次,我能够将我的旧known_hosts复制到新的.ssh/,并简单地运行ssh-add

1

出现此问题主要是由于以下原因:

  • 的公共和私有密钥对是错。您必须验证放置公钥的服务器/ git帐户上的密钥公钥。即使是小空间或标签也会导致错误。
  • 如果你确定你的公钥是正确的,那么检查你机器上〜/ .ssh文件夹中的公钥格式。对于openssh,您不能在puttygen格式中使用公钥,反之亦然。要改变你可以使用用下面的命令格式私钥

    $的ssh - 凯基-e -f的〜/ .ssh/id_rsa>的〜/ .ssh/id_rsa_com.pub
    $的ssh - 凯基-i - f〜/ .ssh/id_rsa_com.pub>〜/ .ssh/id_rsa.pub

  • 最后检查是否已将密钥添加到系统中的ssh客户端。您可以使用下面的命令

    $的eval “$(SSH代理-s)”

    $的ssh-添加