Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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_Digital Ocean - Fatal编程技术网

Git 权限被拒绝(公钥)无法从远程存储库读取

Git 权限被拒绝(公钥)无法从远程存储库读取,git,ssh,digital-ocean,Git,Ssh,Digital Ocean,我试图将我的站点推送到digital ocean上的服务器上,但我一直收到这个错误 local-machine@my-server-address: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 我已经设置了ssh密钥并在服务器上

我试图将我的站点推送到digital ocean上的服务器上,但我一直收到这个错误

local-machine@my-server-address: Permission denied (publickey).
fatal: Could not read from remote repository.

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

我已经设置了ssh密钥并在服务器上使用了它。我可以通过ssh访问该站点,但当我尝试使用git remote时,访问被拒绝。我已经仔细检查了我的存储库。

一件非常明显的事情是,您使用的是SSH密钥,而发生的事情是digital ocean无法对您进行身份验证。因此,要么您没有使用SSH密钥进行设置,因为您的计算机上没有设置SSH密钥,要么您的密钥与您的digital ocean帐户没有关联

您可能希望尝试的另一个选项是使用HTTPS URL而不是SSH URL来推送它,以避免处理SSH密钥


您可能需要进一步阅读git

谢谢大家的帮助。我解决了这个问题。我添加了一个遥控器,但没有指定用户

git remote add production ssh://my-server-address/var/repo/site.git
而不是

git remote add production ssh://root@my-server-address/var/repo/site.git 

检查git remote-v的输出。确保您指向了正确的回购协议。

答案适用于Github用户。根据网址:

在~/.ssh/config中添加一行:


git remote-v的输出是什么?您键入的确切推送命令是什么ssh://server-address/var/repo/site.git 获取产品ssh://server-address/var/repo/site.git 您是否使用特定的用户名通过SSH登录?如果是这样,该用户名也需要是URL的一部分,即它应该是URL的一部分ssh://user@服务器地址/var/repo/site.git。另外,如果您使用SSH-i使用特定的SSH密钥。。。对于登录,为主机创建一个SSH配置条目并在URL中引用该条目会更简单。你是对的,这就是问题所在。谢谢,我已经在我的机器上设置了一个密钥,并将其与相关服务器关联。我能够使用相同的密钥通过ssh连接到服务器。您是否确保在服务器的两侧(即生产和本地)都有密钥?也许你想试试sshadmin@PRODUCTION_IP_ADDRESS从开发服务器使用终端。您可能会出现该错误,因为您无法连接,并且您不仅在开发服务器上拥有生产SSH密钥,而且没有其他方式。感谢您的帮助,我找到了缺少的内容。问题出在我用来推应用程序的git遥控器上。@JohnmarkWachira很高兴听到你的问题已经解决了。也许你可以接受这个答案,然后让其他人知道下一次的解决方案。
Host *
  User git     <-------this line.
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa