Bitbucket SSH身份验证

时间:2013-03-28 10:31:39

标签: ssh

我在连接SSH服务时遇到问题,

ssh-agent正在运行:

  

ps -e | grep ssh

  12163? 00:00:00 ssh-agent

并缓存我唯一的身份:

  

ssh-add -l <​​br/>
  4096 25:56:f4:9c:09:65:fe:39:b3:17:73:bd:3c:76:3f:8d /home/matthias/.ssh/id_rsa(RSA)

一切都应该存在:

  

ls~ / .ssh /

  id_rsa id_rsa.pub known_hosts

和id_rsa.pub上传到Bitbucket.org SSH-Keys部分..

然而,SSH身份验证失败(使用详细模式,可以看到,它以某种方式尝试加载不存在的id_dsa文件)

  

ssh -v -T hg@bitbucket.org
  [...]
  debug1:下一个身份验证方法:publickey
  debug1:提供RSA公钥:/home/matthias/.ssh/id_rsa
  debug1:可以继续的身份验证:publickey
  debug1:提供RSA公钥:/home/matthias/.ssh/id_rsa
  debug1:Remote:强制命令:conq username:matthias_hueser
  debug1:远程:禁用端口转发   debug1:远程:禁用X11转发   debug1:远程:禁用代理转发   debug1:远程:禁用Pty分配   debug1:服务器接受密钥:pkalg ssh-rsa blen 535
  debug1:key_parse_private_pem:PEM_read_PrivateKey失败
  debug1:读取PEM私钥完成:键入
  输入密钥'/home/matthias/.ssh/id_rsa'的密码:
  debug1:读取PEM私钥完成:输入RSA
  debug1:Remote:强制命令:conq username:matthias_hueser
  debug1:远程:禁用端口转发   debug1:远程:禁用X11转发   debug1:远程:禁用代理转发   debug1:远程:禁用Pty分配   debug1:可以继续的身份验证:publickey
  debug1:尝试私钥:/home/matthias/.ssh/id_dsa
  没有这样的身份:/home/matthias/.ssh/id_dsa:没有这样的文件或目录
  debug1:尝试私钥:/home/matthias/.ssh/id_ecdsa
  没有这样的身份:/home/matthias/.ssh/id_ecdsa:没有这样的文件或目录
  debug1:没有更多的身份验证方法可供尝试   权限被拒绝(公钥)。

是否有其他人遇到同样的问题并且有 一个建议?

[感谢编辑]

1 个答案:

答案 0 :(得分:1)

您看到的输出与服务器拒绝您的id_rsa密钥一致。即使您没有在命令行中指定它们或将它们加载到您的ssh-agent中,ssh也会检查id_rsaid_dsaid_ecdsa

如果我对此进行故障排除,我会从图片中删除ssh-agent并在命令行中指定您的私钥。

在您之后关闭的新shell中运行此功能,这样您就不会丢弃现有环境:

$ bash
$ unset SSH_AGENT_PID SSH_AUTH_SOCK
$ ssh -v -T -i ~/.ssh/id_rsa hg@bitbucket.org
[...]
$ exit

(ssh-keygen应该提示您输入密钥的密码)


如果有效,我会仔细检查你的ssh-agent提供的密钥实际上是否正确。你可以

$ ssh-keygen -y -f ~/.ssh/id_rsa

并检查ssh-agent中的内容:

$ ssh-add -L

如果代理中的身份不同,则应使用ssh-add -D转储密钥并重新加载。如果它没有什么不同,我不确定是什么。希望有所帮助。