我无法在Digital Ocean上进行远程部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我无法在Digital Ocean上进行远程部署相关的知识,希望对你有一定的参考价值。

我在Digital Ocean上关注this tutorial,尝试远程部署我的代码。我要应用的场景是在计算机上开发代码,一旦我推送更新,它就会直接更改为生产状态并查看结果。

一切顺利,直到将我的机器代码连接到仓库的最后一步;我提交了更改,并且一直给我该错误。

 Permission denied (publickey).
 fatal: Could not read from remote repository.
  Please make sure you have the correct access rights
  and the repository exists.

并且我将公用密钥保存在此目录中:

/home/myuser/.ssh

以下屏幕截图详细说明:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS85bXpVSy5wbmcifQ==” alt =“在此处输入图像描述”>

所以我在本教程中错过了什么?

答案

请考虑将文本复制粘贴到您的问题中,而不要使用表示文本的图像。它使我们更容易解析问题,从您的示例中复制文本,并且更适合后代。

我认为(!)一个问题是,您正在从未定义此名称的另一台(!?)机器通过其主机名(ubuntu-s-1vcpu-3gb-fra1-01)引用Droplet。

错误:

ssh: Could not resolve hostname ubuntu-s-1vcpu-3gb-fra1-01

您可以通过在计算机上查验或查找此主机名来向自己证明这一点:

DROPLET="ubuntu-s-1vcpu-3gb-fra1-01"

ping ${DROPLET}
nslookup ${DROPLET}
dig ${DROPLET}

NB:所有这些将无法证明您的计算机无法通过主机名解析Droplet

您可以选择:

  • 要么通过其公用(全局)IP地址来引用计算机;
  • 或添加此主机名和IP,以便您的本地计算机可以解析它;
  • 或将此主机名添加到您拥有的DNS域中,以便任何主机都可以解析它

以上是关于我无法在Digital Ocean上进行远程部署的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 14.04 VPS (Digital Ocean) 上部署 Flask 应用程序的问题

部署到Digital Ocean时,使用docker和mongodb的Mup错误

如何通过Rails控制台在Digital Ocean上写入权限来执行Ruby脚本?

CSRF 令牌与 Laravel API 不匹配,使用 Digital Ocean Load Balancer with Sticky Session

Gitlab CI/CD 到 Digital Ocean 使用 docker-compose 进行多个 repos

如何在 Digital Ocean 中设置环境变量?