Digital Ocean SSH 从一个小液滴进入第二个液滴

Digital Ocean SSH 从一个小液滴进入第二个液滴

我正在尝试通过 SSH 从一个 Digital Ocean droplet 连接到第二个 droplet。

这是我的设置:

设置和配置

  • Droplet 1:MyTest(Ubuntu 16.04 512 MB RAM)
  • Droplet 2:RemoteHost(Ubuntu 16.04 512 MB RAM)
  • 本地系统(带有 Putty、PuttyGen 的 Windows 7)

根据视频中的说明这里,我使用 PuttyGen 在我的本地系统(Windows 7)上生成了一对公钥-私钥。我没有保存公钥。我将私钥保存在我的本地系统(Windows 7)上。我将公钥添加到 MyTest droplet。现在我可以使用 Putty 从我的本地系统(Windows 7)通过 ssh 进入 MyTest,无需密码,正如视频所示。

问题

现在,我想从 MyTest droplet 通过 SSH 进入 RemoteHost droplet。

步骤1。

我创建了 RemoteHost droplet,并附加了与 MyTest 相同的公钥。因此,MyTest 和 RemoteHost 两个 droplet 都具有相同的公钥。

第2步。

从我的本地机器(Winsows 7),我使用 PuTTy 通过 SSH 进入 MyTest droplet。

步骤3.

然后,(从 MyTest droplet 命令行)我尝试使用以下命令通过 SSH 进入 RemoteHost droplet:

root@MyTest:~# ssh [email protected]

此后,我收到以下错误消息

root@MyTest:~# ssh root@xxx
The authenticity of host 'xxx (xxx)' can't be established.
ECDSA key fingerprint is SHA256:yyy.
Are you sure you want to continue connecting (yes/no)?

在此处输入图片描述 我也在上面的截图中显示了错误。

问题:

是否可以通过 SSH 从一个 Digital Ocean droplet 进入另一个 Digital Ocean droplet?

答案1

是的,但您需要在 MyTest 上放置一份私钥副本。MyTest 上的 SSH 客户端无法读取您电脑上的私钥。

话虽如此,您实际上应该使用不同的密钥对从 MyTest 连接到 RemoteHost,因为您放在 MyTest 上的私钥可以被任何有权访问该系统的人(与您共享服务器的人,可能是 DO 员工……)复制,并用于访问您使用该密钥访问的其他系统。因此,在 MyTest 上,生成第二个密钥对并将其公钥复制到 RemoteHost(它将有两个公钥,一个来自您的 PC 对,另一个来自 MyTest 对)。然后,您可以直接从您的 PC(使用您的本地私钥)或从 MyTest(使用 MyTest 私钥)连接到 RemoteHost。

答案2

@xenoid 的答案有效!我选择使用不同的公钥-私钥对进行连接我的测试远程主机

以下是我必须做的事情(使用这些来源的手动方法 -这里以及第 4 步这里)遵循@xenoid的建议:

一号滴(MyTest)

1.

root@MyTest:~# ssh-keygen -t rsa -N '' -f keyfilename.rsa
root@MyTest:~# cat ~/keyfilename.rsa.pub

第一行生成无密码的密钥对.第二行显示PUBLIC密钥文件的内容。

2. 选择公钥文件中的所有字符(使用鼠标光标),然后按Ctrl+C复制公钥。

3.

root@MyTest:~# exit

在第二个 droplet 上(RemoteHost)

1.

root@RemoteHost:~# chmod 700 ~/.ssh
root@RemoteHost:~# chmod 600 ~/.ssh/authorized_keys
root@RemoteHost:~# nano ~/.ssh/authorized_keys

该文件已经包含从我的本地机器生成的公私对的公钥,并在创建 droplet 时添加到了 droplet 中。

2. 使用纳米编辑器粘贴公钥。按Enter可在此文件中开始新行

3. 按Ctrl+V粘贴私钥

4. 按Ctrl+ X, y,Enter以相同文件名保存并退出

5.

root@RemoteHost:~# exit

在 Ubuntu 客户端(AnsibleFlex)上

1.

root@MyTest:~# ssh [email protected] -i ~/keyfilename.rsa

123.456.789.10的公网 IP 地址在哪里远程主机/root.这将在目录中打开 SSH 提示符远程主机, 按要求。

谢谢@xenoid!

相关内容