2016-01-21 130 views
1

当我从用户提示使用ssh git克隆它正常工作。使git克隆与sudo

git clone ssh://URL.com/soft.git soft_git 

SSH密钥id_rsaid_rsa.pub正在/home/user/.ssh

我的目的是执行混帐与sudo,但我得到了以下错误

Cloning into '/home/user/git/soft'... 
Permission denied (publickey,keyboard-interactive). 
fatal: Could not read from remote repository. 

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

我创建一个文件夹/root/.ssh,我复制SSH密钥到它,但我得到了相同的错误

如何exe与sudo可爱的混帐。

回答

0

通常,默认的远程SSH用户与您的用户名相同。如果您使用的是sudo,这将是root,这可能不会起作用。您需要提供远程用户名。

sudo git clone ssh://[email protected]/soft.git soft_git 

通常你可以解决的git SSH问题更容易尝试登录与普通的ssh远程。你会得到更好的诊断,并可以看到出了什么问题。

sudo ssh ssh://URL.com/ 
4

当你使用sudo运行git时,git将以root身份运行。因为git以root用户身份运行,所以ssh以root身份运行。由于ssh以root用户身份运行,因此它试图以root身份登录到远程服务器。远程服务器是不是这件事,好吗

你需要做两件事情(因为它应该是!):

  • 把你的URL的用户名:SSH://[email protected] /soft.git。

  • 使您的SSH密钥可供root用户使用,因为它将在/root/.ssh而不是/home/user/.ssh之下。 (你也可以将SSH指向正确的密钥,但我不知道如何做到这一点,并且SSH对权限很挑剔。)