2013-08-27 111 views
7

我使用到位桶,而且我對混帳這裏指示爲Linux(Ubuntu的13.04)設置SSH https://confluence.atlassian.com/pages/viewpage.action?pageId=270827678Git的SSH公鑰否認

當我嘗試克隆任何一個項目從我的帳戶到位桶雖然,我得到一個公鑰拒絕錯誤

[email protected]:/var/www/git$ sudo git clone [email protected]:MyAccount/MyProject.git 
Cloning into 'MyProject'... 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

我已經將公鑰添加到我的bitbucket帳戶。

當我嘗試'ssh -T [email protected]'時,終端只有提示我輸入我的密碼短語,然後才能獲得我的帳戶名稱作爲響應。

[email protected]:/var/www/git$ ssh -T [email protected] 
logged in as MyUsername. 

You can use git or hg to connect to Bitbucket. Shell access is disabled. 

我錯過了什麼嗎?

UPDATE:

在$ HOME克隆工作正常。問題是不得不在/ var/www/git中使用sudo。任何方式我更改權限,以避免使用sudo?

+0

是否可以在不使用sudo的情況下克隆到您的主目錄? – michas

+0

沒有。給我這個 - 致命的:無法創建工作樹目錄'easydial'。:權限被拒絕 –

+0

你嘗試克隆到$ HOME或/ var/www/git嗎? (你可能有權寫入第一個,但不是最後一個。) – michas

回答

12

使用ssh-add $keyfile將您的私鑰添加到代理。然後用ssh-add -L來顯示該密鑰的公鑰。 - 驗證它是否與添加到您的bitbucket帳戶中的相匹配。

現在嘗試SSH到bitbucket應導致通過密鑰登錄,即沒有需要密碼。

另外git clone通過SSH應該現在工作。

使用sudo可能不是一個好主意。它肯定會切斷與您的代理的連接並更改$ HOME/.ssh,因此由sudo啓動的ssh將無法使用您的密鑰。 您可以使用sudo -E來保護您的環境。在這種情況下,關鍵應該仍然有效。

+0

仍然是一樣的錯誤。但是現在我在ssh-add -L上看到了兩個鍵。基本上同樣的關鍵。一個以/home/omk/.ssh/id_rsa結尾,另一個以omk @ home-pc結尾。 –

+0

任何我可以避免使用sudo的方法。我感到這是問題。 –

+0

剛剛找到。在$ HOME上使用克隆可以正常工作。任何方式我都可以改變/ var/www/ –