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,無需密碼,如影片所示。

問題

現在,我想透過 SSH 從 MyTest Droplet 進入 RemoteHost Droplet。

步驟1。

我建立了 RemoteHost Droplet,並附加了與 MyTest 相同的公鑰。因此,Droplet MyTest 和 RemoteHost 都具有相同的公鑰。

第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 用戶端無法讀取您 PC 上的私鑰。

這就是說,您確實應該使用不同的金鑰對從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

第一行產生沒有密碼的金鑰對。第二行顯示公鑰檔案的內容。

2. 選擇公鑰檔案中的所有字元(使用滑鼠遊標),然後按Ctrl+C複製公鑰。

3.

root@MyTest:~# exit

2號水滴(RemoteHost)

1.

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

該文件已經包含從我的本機電腦產生的公私對的公鑰,並在創建時添加到 Droplet 中。

2. 使用奈米編輯器貼上公鑰。按此鍵Enter在此文件中開始新行

3. 按Ctrl+V貼上 PRIVATE 金鑰

4. 按Ctrl+ XyEnter以相同檔案名稱儲存並退出

5.

root@RemoteHost:~# exit

在 Ubuntu 用戶端 (AnsibleFlex) 上

1.

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

其中123.456.789.10是公用 IP 位址遠端主機。這將在/root目錄中開啟 SSH 提示符遠端主機, 按要求。

謝謝@xenoid!

相關內容