附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 憑證、租用戶及區間的範例值。完成實驗室時,請以雲端環境特有的值取代這些值。
取代 Oracle Cloud VMware Solution ESXi 主機的 SSH 金鑰
簡介
Oracle Cloud VMware Solution 提供客戶管理的原生 VMware 雲端環境,使用熟悉的 VMware 工具提供完整的控制。不過,如果遺失用來存取 ESXi 主機的 SSH 金鑰,您將需要替代方法來重新取得存取權。本教學課程概述啟用以密碼為基礎登入 ESXi 主機並取代 SSH 金鑰所涉及的工作。
Oracle Cloud VMware Solution (OCVS) SDDC 運算執行處理和 ESXi 主機的 SSH 存取通常是以佈建期間所提供公開金鑰對應的私密金鑰進行。不過,如果私密 SSH 金鑰遺失或無法使用,就無法直接透過 SSH 存取 ESXi 主機。在這種情況下,解決方法是存取 ESXi 主機的直接主控台使用者介面 (DCUI)、啟用以密碼為基礎的登入,然後透過 SSH 存取 ESXi 主機,以取代授權金鑰區段中的公開金鑰。驗證新的公開金鑰如預期般運作之後,您可以停用以密碼為基礎的登入,以提高安全性。
目標
- 暫時啟用以密碼為基礎的登入,以取代 Oracle Cloud VMware Solution ESXi 主機的遺失 SSH 金鑰。
必要條件
作業 1:建立 ESXi 主機的主控台連線
-
開啟 Oracle Cloud 主控台導覽功能表,依序按一下運算和執行處理。
-
選取 Oracle Cloud VMware Solution SDDC 的第一個 ESXi 主機。
-
按一下主控台連線。
-
按一下建立本機連線。

-
請產生 SSH 金鑰組,或上傳您自己的「主控台連線」公開金鑰,在此範例中,我們將會建立新的金鑰組。

-
按一下建立主控台連線,然後等待連線狀態變更為作用中。
工作 2:存取 ESXi 主機的主控台連線或 DCUI
主控台連線變更為作用中狀態之後,請完成下列步驟。
-
按一下連線右側的 kebab 圖示,然後按一下複製 Windows 的 VNC 連線。
注意:如果您使用 Linux/Mac 機器,請依照適當的步驟進行。

-
將複製的命令貼到文字編輯器。
Start-Job { Echo N | plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-melbourne-1.anwwkljxyzxyzxyzxyzhatrpp5gdhi75lunwazur6vlkost37m2rxa -L 5905:ocid1.instance.oc1.ap-melbourne-1.anwwkljrxyzxyzxyzxyzoua6cxxfbtqbg2tvhkogyusd6scnb2wfdnfcfmzq:5905 instance-console.ap-melbourne-1.oci.oraclecloud.com }; sleep 5; plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ur6vlkost37m2rxa -
將下列命令中的兩個
$env:homedrive$env:homepath\oci\console.ppk區段取代為指向您的私密金鑰。Start-Job { Echo N | plink.exe -i C:\Keys\ssh-key-2022-06-11-converted.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-melbourne-1.anwwkljxyzxyzxyzxyzhatrpp5gdhi75lunwazur6vlkost37m2rxa -L 5905:ocid1.instance.oc1.ap-melbourne-1.anwwkljrxyzxyzxyzxyzoua6cxxfbtqbg2tvhkogyusd6scnb2wfdnfcfmzq:5905 instance-console.ap-melbourne-1.oci.oraclecloud.com }; sleep 5; plink.exe -i C:\Keys\ssh-key-2022-06-11-converted.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ur6vlkost37m2rxa -
啟動 Windows PowerShell 或 [ 終端機 ],執行下列命令,然後依照提示開始階段作業。

-
連線開始後,請開啟 VNC 檢視器並使用
localhost:localport命令建立主控台連線。本教學課程將使用 localhost:5900 。 -
建立連線之後,您可以看到 DCUI。

-
按 ALT+F1 以存取主控台,使用 opc 使用者和 SDDC 密碼登入。

工作 3:為 ESXi 主機啟用以密碼為基礎的認證
-
若要為 opc 使用者啟用以密碼為基礎的登入,請編輯
/etc/ssh/sshd_config檔案。 -
將 PasswordAuthentication 設定變更為 yes ,並儲存檔案。
-
執行下列命令以重新載入 SSH 服務:
/etc/init.d/SSH restart。 -
設定 opc 使用者的密碼。

工作 4:在 ESXi 主機上新增公開金鑰
-
使用您在上一個步驟中設定的密碼進入 ESXi 主機。

-
編輯位於
/etc/ssh/keys-opc/的authorized_keys檔案。
-
請取代現有的公用金鑰或新增一個公用金鑰。

作業 5:使用新的 SSH 金鑰組測試存取
-
使用新的 SSH 金鑰組建立 ESXi 主機的新 SSH 階段作業。

工作 6:停用以密碼為基礎的登入
使用作業 5 中的新 SSH 金鑰測試存取之後,基於安全理由,您必須停用以密碼為基礎的登入。
-
編輯
/etc/ssh/sshd_config檔案並將 PasswordAuthentication 設定變更為 no 。 -
重新啟動 SSH 服務。

-
驗證密碼型登入沒有作用。

作業 7:啟用永久 SSH 公用金鑰
若要確保組態在 ESXi 主機重新啟動後仍持續存在,請依照下列步驟將新的公開金鑰新增至 authorized_keys 檔案:
-
繼續之前,請先建立與 ESXi 主機的 SSH 連線 (如果您尚未建立)。
-
將新的公開金鑰複製到變數。
NEW_PUB_KEY = "Paste New Public Key here" -
將新的公開金鑰附加至 ESXi 主機的
authorized_keys檔案。echo "<$NEW_PUB_KEY>" >> /etc/ssh/keys-root/authorized_keys -
啟用
authorized_keys檔案的黏著位元以防止意外修改。chmod +t /etc/ssh/keys-root/authorized_keys -
執行自動備份命令檔,讓
authorized_keys檔案持續存在。/sbin/auto-backup.sh
接下來的步驟
在 Oracle Cloud VMware Solution SDDC 中的所有 ESXi 主機上,連續執行工作 1 到 7。
相關連結
認可
- 作者 - Praveen Kumar Pedda Vakkalam (主要解決方案架構師)
其他學習資源
瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Replace SSH Keys for Oracle Cloud VMware Solution ESXi hosts
F59851-03
December 2023
Copyright © 2023, Oracle and/or its affiliates.