【问题标题】:Adding SSH Key to authorized_keys: permission denied(publickey)将 SSH 密钥添加到授权密钥:权限被拒绝(公钥)
【发布时间】:2013-07-23 04:14:40
【问题描述】:
  • 我的电脑上有一个id_rsaid_rsa.pub 也绑定到我的BitBucket 帐户。
  • 据我所知,我可以在任何我喜欢的地方使用此公钥(只要我的私人匹配)。

问题:我不知道如何让任何服务器接受公钥,你知道我做错了什么吗?

 $ cat id_rsa.pub >> authorized_keys

 $ service ssh restart  (I suppose this isn't needed)

 $ git pull origin master

 $ Permission denied(publickey)

我做错了什么?我被困了好几天了。

【问题讨论】:

  • 您是否在同一台机器上运行了所有这些命令?将密钥放入authorized_keys 意味着您可以使用该密钥登录到该机器,它无助于使用该密钥登录到其他 机器。而且你必须在本地机器上拥有私钥才能推送。

标签: linux git bitbucket ssh-keys


【解决方案1】:

需要将id_rsa.pub的内容复制到设置页面中的bitbucket avcount中

欲了解更多信息https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+Bitbucket+account

【讨论】:

  • 如果我的本地 id_rsa.pub 不在 BitBucket 中,我无法从硬盘驱动器推送到它。但我不能从任何服务器。我说的是真的吗?
  • 它是一个不同的键?
  • 将您的公钥添加到服务器的 authorized_keys 允许您使用您的私钥登录到该服务器。您需要将您的私钥(或者更好的是,还添加到 bitbucket 的新部署密钥对)放在服务器上,以便从服务器中提取 bitbucket。
  • @cjc343,不,您将 public 密钥放在 bitbucket 服务器上
  • 我没有另外声明。 OP 似乎对从 bitbucket 提取/克隆服务器上需要哪个密钥感到困惑。我可以看到括号如何被解读为两者兼而有之。
【解决方案2】:

确保~/.ssh的权限是700,即只有所有者可以访问,并且公钥和私钥文件的权限只有所有者才能写入。

确保密钥文件在~/.ssh 中!

确保正在使用密钥(尝试使用 ssh -v 向正确的用户@bitbucket 服务器 SSH)

【讨论】:

  • 我认为“Permission denied(publickey)”是从服务器返回的,密钥似乎正在被使用
  • 不,这并不意味着正在使用密钥。使用ssh -v 查看使用了什么。在help.github.com/articles/error-permission-denied-publickey(我知道那是 github 而不是 bitbucket,但该页面通常是关于 ssh)和confluence.atlassian.com/pages/viewpage.action?pageId=302811860 还有其他几个调试此错误的提示,但当然您已经阅读了它们,因为您在询问之前搜索了网络,正确的? ;)
  • 自己试试 0 我无法通过更改权限来复制他的输出
  • 但这并不意味着正在使用密钥。仅仅因为我建议的不是答案并不意味着没有其他问题阻止密钥被使用。
【解决方案3】:

如果您复制了您的根目录的authorized_keys,您可能需要做的事情超出您的习惯:

chmod 700 .ssh
sudo chmod 640 .ssh/authorized_keys
sudo chown $USER .ssh
sudo chown $USER .ssh/authorized_keys

$USER 是您的 Linux 用户名。

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 1970-01-01
    • 2016-10-15
    • 2018-04-12
    • 2020-02-11
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    相关资源
    最近更新 更多