Git和ssh授权

时间:2010-03-30 14:31:49

标签: git ssh github rsa

我无法使用生成的ssh-key登录github。我已按照本手册进行了操作:http://help.github.com/linux-key-setup但步骤:

  

ssh git@github.com

我明白了:

  

代理人承认未能使用签名   钥匙。没有权限   (公钥)。

什么在挣扎?当然,我正在添加自己的用户电子邮件。


尝试了dsa-key,同样的事情。

9 个答案:

答案 0 :(得分:49)

我发现这对我有很大帮助http://playwithrubyandrails.blogspot.com/2011/04/process-for-deploying-app-on-heroku.html

ssh-add ~/.ssh/id_rsa在生成相关密钥后解决了我的问题

答案 1 :(得分:13)

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

$ ssh-add ~/.ssh/id_rsa

我输入了密码。然后重试以克隆heroku存储库。这次工作得很好。

答案 2 :(得分:6)

这是一个ubuntu问题。导出“SSH_AUTH_SOCK = 0”为我解决了这个问题。有关详情,请访问 - https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/201786

答案 3 :(得分:4)

来自troubleshooting guide

  

许可被拒绝(公钥)

     

这通常是在ssh不能的时候引起的   找到你的钥匙。确保你的钥匙是   在默认位置,〜/ .ssh。如果   你又一次运行ssh-keygen   按3进入所有提示输入   自动放在这里。那么你   可以添加id_rsa.pub的内容   我的github密钥。如果id_rsa.pub没有   工作尝试id_dsa.pub。你可能需要   使用ssh-keygen生成一个新的dsa密钥   -t dsa如果你只有一个rsa密钥。

     

如果您仍然遇到问题   以上都没有,你可能有   来自debian的黑名单密钥   open-ssh bug。你应该更新   open-ssh并重新生成密钥。

所以,只是为了检查 - 您的密钥是否在〜/ .ssh /下可用作id_rsa和id_rsa.pub,否则,您是否指定了它们的用途?

答案 4 :(得分:3)

由于这个线程,我能够得到gitlab(我知道这不是github)。

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

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

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

感谢大家的帮助。

<强>更新
我决定在没有密码的情况下重新制作我的ssh密钥并再次遇到此错误。

这一次,我能够将旧的known_hosts复制到新的.ssh/,然后只需运行ssh-add

答案 5 :(得分:2)

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

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

    使用以下命令

    $ ssh-keygen -e -f~ / .ssh / id_rsa&gt;的〜/ .ssh / id_rsa_com.pub
    $ ssh-keygen -i -f~ / .ssh / id_rsa_com.pub&gt;把〜/ .ssh / id_rsa.pub

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

    执行此操作

    $ eval&#34; $(ssh-agent -s)&#34;

    $ ssh-add

答案 6 :(得分:1)

答案 7 :(得分:0)

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

答案 8 :(得分:0)

当我从另一个操作系统复制id_rsa和idrsa.pub时遇到了同样的错误。这些文件是644权限。所以我将其更改为600.错误已修复。