2013-07-23 425 views
1
  • 我在我的计算机上有一个id_rsaid_rsa.pub也绑定到我的BitBucket帐户。
  • 据我所知我可以在任何地方使用这个公钥我请(只要我的私人匹配)。

的问题:我无法弄清楚如何得到任何服务器接受公钥,你看到我做了什么错?将SSH密钥添加到authorized_keys:权限被拒绝(公钥)

$ cat id_rsa.pub >> authorized_keys 

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

$ git pull origin master 

$ Permission denied(publickey) 

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

+2

你是否在同一台机器上运行所有这些命令?将密钥放在'authorized_keys'中意味着您可以使用该密钥登录_that machine_,但无法使用该密钥登录到_other_机器。而且你必须在本地机器上拥有私钥才能推送。 –

回答

2

您需要id_rsa.pub的内容复制到位桶在设置页面

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

+0

如果我的本地'id_rsa.pub'不在BitBucket中,我无法从我的硬​​盘驱动器中推送它。但我不能从任何服务器。我说的是真的吗? – JREAM

+0

它的另一个关键? – exussum

+1

将您的公钥添加到服务器的authorized_keys允许您使用您的私钥登录到该服务器。您需要在服务器上放置您的私钥(或者更好,新的部署密钥对也添加到bitbucket中),以便从服务器上的bitbucket中获取。 – cjc343

1

确保在~/.ssh的权限700即只能由拥有者访问,除了所有者之外,公钥和私钥文件的权限不可写。

确保密钥文件在~/.ssh

确保键被使用(尽量ssh'ing给正确的用户@使用ssh -v到位桶服务器)

+0

我认为“Permission denied(publickey)”是从服务器返回的,似乎正在使用密钥 – exussum

+0

不,这并不意味着密钥正在被使用。使用'ssh -v'来查看使用的内容。在https://help.github.com/articles/error-permission-denied-publickey(我知道这是github不是bitbucket,但该页面是关于ssh的一般信息)以及https: //confluence.atlassian.com/pages/viewpage.action?pageId=302811860但当然你已经阅读过它们,因为你在查询之前搜索了网页,对吧? ;) –

+0

自己尝试0我不能复制他的输出,只是更改权限 – exussum

3

如果您复制根的authorized_keys你可能需要做更多的比你用于:

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

其中$USER是您的Linux用户名。