在webroot目录中克隆但在〜/ .ssh中没有克隆权限(publickey)

时间:2013-12-07 19:56:43

标签: git ubuntu github ssh

运行Ubuntu,以防相关。

我已经有了一个Github帐户,添加了我的公钥,我正在从Windows迁移到Ubuntu。我完成了所有必要的步骤来设置我的凭据,然后(明智地)将我的回购克隆到.ssh目录中。一切都很好,但是......当然,那不是我想要它的地方。所以我删除了我克隆到的目录,实际上是从我想要的目录中尝试过的,我得到了:

rich@ubuntu:/opt/lampp/htdocs$ sudo git clone git@github.com:Polisurgist/introRecorder.git
Cloning into 'introRecorder'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

因此,出于某种原因,它可以使用我的密钥,但只有当我克隆到包含我的密钥的目录时。我确定我错过了一个告诉git在哪里找到密钥的步骤,但我不知道那个步骤是什么。

1 个答案:

答案 0 :(得分:1)

它可能是第一次工作,因为ssh在当前文件夹中查找公钥/私钥。

但是一旦移动目录,ssh将在~/.ssh/id_rsa(.pub)中查找相同的键 因此,您需要确保这些密钥位于正确的位置(应为/home/rich/.ssh),并提供正确的保护(请参阅“git push failing in gitlab”)。

使用sudo执行git clone意味着ssh会在root homedir中查找这些键,这不一定是你想要的。

  

/opt/lampp/htdocs:无法创建目录。

这意味着您需要/root/.ssh中的这些键,如果您希望git clone完成root(请参阅“Home folder in root and not in home… I'm confused!”)。 但您宁愿以root身份创建该文件夹并更改其所有权,然后将git clone作为rich

相关问题