我无法使用生成的ssh-key登录github。我已按照本手册进行了操作:http://help.github.com/linux-key-setup但步骤:
ssh git@github.com
我明白了:
代理人承认未能使用签名 钥匙。没有权限 (公钥)。
什么在挣扎?当然,我正在添加自己的用户电子邮件。
尝试了dsa-key,同样的事情。
答案 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)
许可被拒绝(公钥)
这通常是在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)
出现此问题主要是由于以下原因:
如果您确定公钥是正确的,请检查计算机中〜/ .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)
以上接受的解决方案对我不起作用,但这有效 http://ripan27.wordpress.com/2010/04/01/ssh-gitgithub-com-agent-admitted-failure-to-sign-using-the-key-permission-denied-publickey/
答案 7 :(得分:0)
请注意ssh-agent
是每个会话(每个终端)。使用像keychain这样的ssh代理管理器(请参阅其如何设置的文档)以通过任何会话(从任何术语)访问。
答案 8 :(得分:0)
当我从另一个操作系统复制id_rsa和idrsa.pub时遇到了同样的错误。这些文件是644权限。所以我将其更改为600.错误已修复。