2

我在通过 R 在 Digital Ocean 中部署 Plumber API 时遇到了一些问题。下面是我在进行以下配置后在桌面(在 RStudio 中)执行的 R 代码。

  • 在我的桌面上创建了 SSH 密钥(例如:通过 puTTYgen)
  • 在我的 Digital Ocean 账户中输入公钥内容
    library(plumber)
    library(analogsea)
    library(ssh)
    
    myExistingDroplets <- analogsea::droplets()
    do_provision(name="myNewDroplet")

来自控制台的日志:

    THIS ACTION COSTS YOU MONEY! 
    Provisioning a new server for which you will get a bill from DigitalOcean. Using default ssh keys: PC NB: This costs $0.00744 / hour until you droplet_delete() it Waiting for create ........... 
    New server key: <key>
    Error: Authentication with ssh server failed
  • 代码行在analogsea::droplets()我的浏览器中打开了一个新窗口以方便身份验证,并且在身份验证后,代码从 Digital Ocean 返回了我现有的液滴详细信息。这是一个小胜利!

  • 代码行do_provision(name="myNewDroplet")提示我提供我的 Digital Ocean 根密码,然后它在我的 Digital Ocean 帐户中创建了一个新的水滴!但是它并没有完全成功(我假设),因为它给出了一个错误"Error: Authentication with ssh server failed"。而且,我无法从我的浏览器访问这个新的服务器/droplet(在端口:管道工监听的 8000 上)

我很难理解的一件事是,它打印出了一个新的服务器密钥:<key>(SSH Fingerprint)在与我在 PC + Digital Ocean 网站上配置的 SSH 密钥对不匹配的控制台上(在设置 -> ssh 密钥下)。我不确定它为什么会在创建ssh server key液滴的过程中创建一个新的,以及为什么会导致身份验证失败。我的理解是需要在客户端(我的 PC)上创建一个 ssh 密钥,并且应该在 Digital Ocean 中输入它的公钥。

如果您能分享有关此错误根本原因的任何想法,或者您认为我错过了介于两者之间的任何步骤,我将不胜感激。

提前致谢!

4

0 回答 0