Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么git返回权限被拒绝(公钥)?_Git_Ssh - Fatal编程技术网

为什么git返回权限被拒绝(公钥)?

为什么git返回权限被拒绝(公钥)?,git,ssh,Git,Ssh,我在服务器和git远程存储库上有一个项目。服务器和存储库有ssh对(如果我在服务器上,我可以通过ssh从远程git存储库克隆任何项目)。我想将项目从存储库克隆到我的本地计算机,因此我通过scm.ssh/文件夹从服务器复制项目,并将其放入我的/home/文件夹中 但是,当我尝试将项目从repo克隆到本地计算机时,git返回一个错误: Permission denied (publickey). fatal: Could not read from remote repository. Pleas

我在服务器和git远程存储库上有一个项目。服务器和存储库有ssh对(如果我在服务器上,我可以通过ssh从远程git存储库克隆任何项目)。我想将项目从存储库克隆到我的本地计算机,因此我通过scm
.ssh/
文件夹从服务器复制项目,并将其放入我的
/home/
文件夹中

但是,当我尝试将项目从repo克隆到本地计算机时,git返回一个错误:

Permission denied (publickey).
fatal: Could not read from remote repository.

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

我做错了什么?

您需要为git生成一个ssh密钥,以便在
~/.ssh
中识别您的设备

访问以确保您拥有与设备关联的SSH密钥

如果没有,则可以按照此处的说明生成公钥:


之后,将密钥添加到git帐户,您应该能够运行
ssh-Tgit@github.com
确认连接成功。

您应该将公钥添加到服务器上的
~/.ssh/authorized_keys

编辑
如果您已将ssh密钥复制到本地计算机,则可能还需要将它们添加到本地ssh代理
ssh add
,您可以通过运行
ssh add-L
来检查已将哪些密钥添加到代理中,谢谢,但是我没有访问存储库的权限,因此无法添加密钥。我必须只使用此密钥我不确定是否理解-在这种情况下,密钥与您的github帐户关联,而不是与存储库关联。登录github,然后按照上面的说明配置ssh设置。如果该帐户不属于您,并且repo是私有的,那么帐户所有者需要通过将您的用户名添加到所讨论的存储库中来授权您的访问,当您运行
ssh-T时会发生什么git@github.com
?我知道这一点,但存储库不是github。我尝试再次解释:我不是存储库的所有者,但是我可以访问服务器,该服务器可以通过ssh克隆存储库。然后,我将
id\u rsa
id\u rsa.pub
复制到my
.ssh/
文件夹,并尝试从我的本地机器访问存储库。请参阅-因此,请尝试此操作,确保您的公钥添加到远程服务器上的~/.ssh/authorized\u密钥(请参阅joran下面的答案)-然后,在本地计算机上的项目目录中,指定远程存储库
git remote add origingit@MY_SEVER:MY_USERNAME/MY_PROJECT.git
-也许您会发现此资源在服务器的何处很有用?我希望仅使用服务器的ssh密钥将项目从存储库克隆到本地计算机