首页 文章

Bitbucket SSH身份验证

提问于
浏览
4

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

ssh-agent正在运行:

ps -e | grep ssh 12163? 00:00:00 ssh-agent

并缓存我唯一的身份:

ssh-add -l 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:远程:强制命令:conq用户名:matthias_hueser debug1:远程:禁用端口转发 . debug1:远程:禁用X11转发 . debug1:Remote:禁用代理转发 . 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私钥完成:type RSA debug1:Remote:Forced command:conq username:matthias_hueser debug1:Remote:禁用端口转发 . debug1:远程:禁用X11转发 . debug1:Remote:禁用代理转发 . 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:没有更多的身份验证方法可以尝试 . 权限被拒绝(publickey) .

有其他人遇到同样的问题并有建议吗?

[感谢编辑]

1 回答

  • 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 转储密钥并重新加载它们 . 如果它's not different, I'我不确定是什么了 . 希望有点帮助 .

相关问题