附註:

取代 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 主機,以取代授權金鑰區段中的公開金鑰。驗證新的公開金鑰如預期般運作之後,您可以停用以密碼為基礎的登入,以提高安全性。

目標

必要條件

作業 1:建立 ESXi 主機的主控台連線

  1. 開啟 Oracle Cloud 主控台導覽功能表,依序按一下運算執行處理

  2. 選取 Oracle Cloud VMware Solution SDDC 的第一個 ESXi 主機。

  3. 按一下主控台連線

  4. 按一下建立本機連線

    在「運算」段落中建立 ESXi 主機的本機主控台連線

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

    為主控台連線產生新金鑰組

  6. 按一下建立主控台連線,然後等待連線狀態變更為作用中

工作 2:存取 ESXi 主機的主控台連線或 DCUI

主控台連線變更為作用中狀態之後,請完成下列步驟。

  1. 按一下連線右側的 kebab 圖示,然後按一下複製 Windows 的 VNC 連線

    注意:如果您使用 Linux/Mac 機器,請依照適當的步驟進行。

    複製連線的 VNC 連線命令

  2. 將複製的命令貼到文字編輯器。

    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
    
  3. 將下列命令中的兩個 $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
    
  4. 啟動 Windows PowerShell 或 [ 終端機 ],執行下列命令,然後依照提示開始階段作業。

    使用 Windows PowerShell 的 VNC 命令建立主控台連線

  5. 連線開始後,請開啟 VNC 檢視器並使用 localhost:localport 命令建立主控台連線。本教學課程將使用 localhost:5900

  6. 建立連線之後,您可以看到 DCUI。

    使用 VNC 檢視器存取 VMware DCUI

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

    從主控台連線登入 ESXi shell

工作 3:為 ESXi 主機啟用以密碼為基礎的認證

  1. 若要為 opc 使用者啟用以密碼為基礎的登入,請編輯 /etc/ssh/sshd_config 檔案。

  2. PasswordAuthentication 設定變更為 yes ,並儲存檔案。

  3. 執行下列命令以重新載入 SSH 服務:/etc/init.d/SSH restart

  4. 設定 opc 使用者的密碼。

    啟用 ESXi 主機的密碼型登入

工作 4:在 ESXi 主機上新增公開金鑰

  1. 使用您在上一個步驟中設定的密碼進入 ESXi 主機。

    使用設定密碼將 SSH 移入 ESXi 主機

  2. 編輯位於 /etc/ssh/keys-opc/authorized_keys 檔案。

    新增 SSH 公開金鑰以取代舊金鑰或遺失的金鑰

  3. 請取代現有的公用金鑰或新增一個公用金鑰。

    在 ESXi 主機的授權金鑰中顯示新的公開金鑰

作業 5:使用新的 SSH 金鑰組測試存取

  1. 使用新的 SSH 金鑰組建立 ESXi 主機的新 SSH 階段作業。

    使用新的 SSH 金鑰組驗證 SSH 至 ESXi 主機

工作 6:停用以密碼為基礎的登入

使用作業 5 中的新 SSH 金鑰測試存取之後,基於安全理由,您必須停用以密碼為基礎的登入。

  1. 編輯 /etc/ssh/sshd_config 檔案並將 PasswordAuthentication 設定變更為 no

  2. 重新啟動 SSH 服務。

    停用以密碼為基礎的登入 ESXi 主機

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

    驗證以密碼為基礎的登入已無法再使用

作業 7:啟用永久 SSH 公用金鑰

若要確保組態在 ESXi 主機重新啟動後仍持續存在,請依照下列步驟將新的公開金鑰新增至 authorized_keys 檔案:

  1. 繼續之前,請先建立與 ESXi 主機的 SSH 連線 (如果您尚未建立)。

  2. 將新的公開金鑰複製到變數。

    NEW_PUB_KEY = "Paste New Public Key here"

  3. 將新的公開金鑰附加至 ESXi 主機的 authorized_keys 檔案。

    echo "<$NEW_PUB_KEY>" >> /etc/ssh/keys-root/authorized_keys

  4. 啟用 authorized_keys 檔案的黏著位元以防止意外修改。

    chmod +t /etc/ssh/keys-root/authorized_keys

  5. 執行自動備份命令檔,讓 authorized_keys 檔案持續存在。

    /sbin/auto-backup.sh

接下來的步驟

在 Oracle Cloud VMware Solution SDDC 中的所有 ESXi 主機上,連續執行工作 1 到 7。

認可

其他學習資源

瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center