2012-06-27 56 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的密钥对进行身份验证,这与你的密钥对不一样。

相关问题