我在通过 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 中输入它的公钥。
如果您能分享有关此错误根本原因的任何想法,或者您认为我错过了介于两者之间的任何步骤,我将不胜感激。
提前致谢!