2012-06-27 84 views
0

在我ternimal當我運行混帳sudo的用戶拒絕訪問

git clone -q [email protected]:zzzz/yyyy/plat.git 

我能夠複製該項目,但如果我跑

sudo git clone -q [email protected]:zzzz/yyyy/plat.git 

,並給予正確的密碼,我得到

Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

任何想法爲什麼是這樣的?

+3

要回答這可能比這裏給出的信息更需要。爲什麼人們會在'sudo'下運行git? –

+0

我不認爲這是一個混帳問題。您的root帳戶可能有一個ssh密鑰,它會嘗試並導致服務器拒絕ssh連接。另一種解釋是密碼認證對於你的root用戶是禁用的。 – Black

回答

5

用戶只是沒有合適的/root/.ssh公鑰

你的用戶肯定有一個在~/.ssh,但根沒有。

+0

我是linux的新手。我正試圖在服務器上部署我的rails應用程序。我正在使用gem來部署我的應用程序。正如你所說我的root用戶沒有密鑰對,但我確實擁有它,並且gem會在每個命令中自動使用sudo。有沒有工作爲這個問題引起的。我沒有訪問根用戶? –

+0

將用戶的私鑰複製到root用戶(如用戶):cd; sudo cp .ssh/id_ */root/.ssh /' – shkschneider

1

我覺得它很簡單。

當你用sudo運行git clone時,你可以在root用戶下運行它。而且我認爲你的root用戶沒有有效的公鑰來克隆回購。

有一些方法只啓用密鑰認證。

4

codebasehq使用公鑰/私鑰對進行身份驗證,所以當你sudo的時候,你正在嘗試使用root的密鑰對進行身份驗證,這與你的密鑰對不一樣。

相關問題