如何通过DigitalOcean专用网络传输文件(密码)

DigitalOcean在所有数据中心地区提供私人网络连接,无需额外费用。 专用网络创建第二个网络接口,无法从Internet访问,可用于在同一数据中心内与您帐户中的其他Droplet进行通信。 当您希望在服务器之间安全地传输数据或减少出站带宽使用时,专用网络非常有用。

在本文中,我们将解释如何在使用基于密码的身份验证的Droplet之间传输文件。 我们强烈建议使用SSH密钥而不是密码,以提高安全性。 您可以在了解有关它们的更多信息,并按照指南获取使用基于密钥的身份验证的说明。

如果您使用密码登录您的Droplet,这些说明适合您。

先决条件

要跟随本教程,您需要在同一个数据中心创建两个Droplet:

  • 启用私人网络
    可以帮助您开始使用。 确保当您到达“ 选择其他选项”部分时,选中“ 专用网络”框。

  • 无需添加SSH密钥
    要使用基于密钥的身份验证,请参阅 。

    所选主要选项的屏幕截图

另外,您需要在创建后登录到每个Droplet并重置根密码。 由于首次登录时需要重置根密码,因此如果未成功重置该文件,则无法成功传输文件。

一旦你完成了这些步骤,你就可以开始了。

第1步 - 创建测试文件

我们已经命名了我们的服务器Droplet-01和Droplet-02。 请务必在下面的命令中使用您的Droplets的IP地址。

我们将首先使用我们的第一个Droplet的公共IP地址登录:

ssh root@IP_of_Droplet-01

一旦我们连接起来,我们将使用echo命令创建一些内容并将其引导到一个名为test.txt的新文件中:

echo "Private networking test" > ~/test.txt

在下一步中,我们将使用Rsync将此文件传输到我们的第二个Droplet。

第2步 - 通过专用网络传输文件

当我们在公共IP地址上引导pingrsync等命令时,流量将自动通过公共网络路由。 但是,如果我们将其指向我们专用网络上的IP地址,则流量将停留在专用网络上。

我们将使用Rsync将我们在最后一步创建的测试文件从Droplet-01传输到专用网络上的Droplet-02。 为此,我们需要Droplet-02的私人IP地址。

找到专用IP地址

我们将在控制面板中点击Droplet-02的名称。 在特定于Droplet的页面上,公共和私人IP地址都显示在页面顶部附近:

突出显示私人IP复制链接

复制您的 Droplet的私有IP并在下面替换它。

rsync --verbose ~/test.txt  Droplet-02-private_ip:/tmp

我们添加了--verbose标志,以便我们可以看到命令的输出,后面跟着我们要传输的文件的路径和名称test.txt 最后,我们提供了私有IP地址的目的地Droplet和我们想要传输文件( /tmp )的Droplet上的目录,以冒号( /tmp分隔

我们将按ENTER发送命令。
当我们第一次连接到新主机时,我们会被警告无法建立主机的真实性,这是我们以前从未从Droplet-01连接过的预期。 如果我们以其他用户身份进行连接,我们会再次看到此消息。

OutputThe authenticity of host '203.0.113.22 (203.0.113.22)' can't be established.
ECDSA key fingerprint is SHA256:EXAMPLEqpYH7rwiJhfiwF0yFurW21RGhLOYa1c7yuqM.
Are you sure you want to continue connecting (yes/no)? yes

我们输入yes并按ENTER键。

接下来,我们会在提示时输入密码。
为了安全起见,不显示密码。 一旦我们提供了密码,我们将按ENTER继续。

因为我们添加了--verbose ,所以我们应该接收类似于以下内容的输出:

Outputsent 85 bytes  received 41 bytes  22.91 bytes/sec
total size is 24  speedup is 0.19

注意:如果您没有在第二个Droplet上重置密码,传输将失败,您将收到如下输出:

OutputPassword change required but no TTY available.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]

要解决此问题,请通过SSH登录到目标Droplet并重置密码。

传输完成后,我们将登录到第二个Droplet并验证文件是否存在于/tmp目录中:

第3步 - 验证转移

从我们的本地机器登录Droplet-02:

ssh root@Droplet-02-private_ip

一旦出现,我们将使用cat来检查我们的test.txt文件是否存在于/tmp目录中:

cat /tmp/test.txt

我们应该得到我们在第1步中输入的文本。

OutputPrivate networking test

此时,我们已确认我们可以通过专用网络传输数据。

下一步

在本教程中,我们使用Rsync通过专用网络复制了一个文件。

  • 我们建议您按照Droplets的初始服务器设置指南来保护您的新服务器。
  • 您可以更安全,更方便地通过专用网络进行连接。
  • 您也可能希望配置DigitalOcean云防火墙以限制允许连接的服务器和端口。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏