使用 VNC 或序列主控台存取虛擬伺服器實例

您可以透過 IBM Cloud 使用者介面、API 請求或 IBM Cloud 命令列介面 (CLI),連線至 VNC 或序列主控台,以存取您的 IBM Cloud 虛擬伺服器執行個體。 主控台服務是一種快速且輕鬆的方式,可讓您在不使用 Secure Shell 的情況下與實例互動。

僅適用於使用 TDX 機密運算功能的 z/OS 虛擬伺服器及虛擬伺服器執行個體:不支援將 z/OS 或使用 TDX 機密運算功能的虛擬伺服器執行個體連線至 VNC 主控台。

它適用於發生開機失敗或核心損毀的狀況,特別是當您使用自訂映像檔時。 當發生這些狀況時,您可以使用主控台服務來檢查問題。

VNC 主控台提供圖形使用者介面,並同時接受滑鼠和鍵盤輸入。 序列主控台提供接受鍵盤輸入的文字型主控台。

您可以使用主控台來存取 OS 載入及開機程序,例如 GNU GRand Unified Bootloader (GRUB)。

可以使用任何 支援的瀏覽器 來開啟主控台。

開始之前

  1. 若要連接至主控台,您需要在 IBM Cloud® Identity and Access Management (IAM) 中為虛擬伺服器實例指定 Operator (或更高) 和 Console Administrator 角色。

Console Administrator 角色不會自動套用。 如果您是帳戶的管理員,您也需要自行指定 Console Administrator 角色才能使用此功能。

若要檢查您是否已獲指派必要的角色,請移至 IBM Cloud 主控台中的 [IAM 使用者](/iam/users){: external} 頁面,並在 **使用者**下選取您的帳戶,然後選取 **存取原則**。 請確定您看到存取原則,將 `Operator` (或更新版本) 角色及 `VirtualServerConsoleAdmin` 角色指派給目標虛擬伺服器實例的 **資源屬性**。 否則,您需要使用下列步驟來聯絡帳戶的管理者,以指派角色給您:

1. 移至 IBM Cloud 主控台中的 [IAM 使用者](/iam/users){: external} 頁面,然後選取目標使用者。
1. Click the **存取** tab, and scroll to **存取政策**.
1. 按一下**指派存取權**。
1. 捲動至 **Create policy** 區段。
1. In the **服務** section, select _VPC 基礎結構服務_. 然後按**下一步**。
1. In the **資源** section, select _所有資源_.
1. 在**角色和操作**中,選擇以下服務存取權限:
   - 主控台管理者
1. 接著,請選擇以下其中一種「平台存取」方式:
   - 操作員
   - 編輯者
   - 管理者
1. 按**下一步**。
1. 可選擇加入 Condition。
1. 按一下 **檢閱**。
1. 按一下**新增**。
1. 檢閱 **存取摘要** 側邊窗格,然後按一下 **指派**。

如需進一步了解 IAM 角色的相關資訊,請參閱 [《IAM 入門指南》](/docs/vpc?topic=vpc-iam-getting-started)。
{: tip}
  1. IBM Cloud 提供的映像檔通常沒有密碼。 若要使用主控台順利存取實例,您可能需要為 Linux 映像檔建立密碼,或提前擷取 Windows 映像檔的密碼。

對於序列主控台,您可以使用 -a root 旗標,將 getty 配置成在沒有密碼的情況下自動登入。

若要為自訂的 Linux 映像啟用串列主控台服務,請確保核心命令列中包含參數 console=ttyS0。 如需更多資訊,請參閱《 建立 Linux 自訂映像 》中的「步驟 1 - 從單一 qcow2 或VHD格式的映像檔案開始」。

使用 IBM Cloud 使用者介面來連接至主控台

請遵循下列步驟,使用 IBM Cloud 使用者介面來連接至主控台。

  1. IBM Cloud 控制台中,請依序點選 「導覽」選單圖示 >「基礎架構VPC 圖示 >「運算」>「虛擬伺服器執行個體」。
  2. VPC 的虛擬伺服器實例 清單中,按一下您需要存取之實例的溢位按鈕,然後按一下 開啟 VNC 主控台開啟序列主控台。 或者,在實例詳細資料頁面上,按一下右上方的 動作,然後按一下 開啟 VNC 主控台開啟序列主控台
  3. (僅限序列主控台) 如果正在使用序列主控台,則系統會提示您確認是否強制開啟階段作業。 這個動作會切斷另一個使用者的階段作業。
  4. 輸入認證,並遵循提示來登入您的實例。

您可以按一下主控台視窗右上方的 關閉實例重新開機實例,以停止或重新啟動實例。

使用 API 來連接至主控台

在可以使用 API 要求來連接至 VNC 或序列主控台之前,您需要先取得 IAM 記號,將端點儲存為變數,並驗證您具有 VPC API 服務的存取權。 如需相關資訊,請參閱 API 必要條件

使用 API 連接至 VNC 主控台

  1. 為該實例建立一個主控台存取憑證。 在有效負載中指定 "console_type":"VNC"

      curl -X POST \
      "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2021-01-26&generation=2" \
      -H "Authorization: Bearer $iam_token" \
      -d '{
            "console_type": "vnc"
      	  }'
    

    存取記號將在 3 分鐘之後無效。

  2. 將 "href" 的值儲存在回應中。

  3. 在瀏覽器中開啟 noVNC 入口網站

  4. 按一下 設定,然後展開 進階> WebSocket

  5. 選取 Encrypt,將您在步驟 2 中儲存的URL的 API 端點部分貼到 Host:,不包含“wss://”,將連接埠設定為“443”,將您在步驟 2 中儲存的URL的路徑部分貼到小路

    • 範例 API 端點: us-south.iaas.cloud.ibm.com
    • 範例路徑: v1/instances/<instance_id>/console?access_token=<access_token>&version=2020-12-06&generation=2
  6. 按一下連接

  7. 登入該實例。

使用 API 來連接序列主控台

  1. 建立實例的主控台存取記號,在有效負載中指定 "console_type": "serial""force": true

      curl -X POST \
      "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2020-01-26&generation=2" \
      -H "Authorization: $token" \
      -d '{
         "console_type":"serial",
         "force": true
      }'
    

    透過將 "force" 指定為 true,您可以連接至序列主控台,即使其他使用者使用該主控台也一樣。 預設值為 false,表示如果使用主控台,則無法建立連線。

  2. 將 "href" 的值儲存在回應中。

  3. 使用URL啟動串列控制台程式。

    如果您使用 websocat,請在指令中指定 --binary 旗標。 例如, websocat --binary "wss://us-south.iaas.cloud.ibm.com/v1/instances/<instance_id>/console?access_token=<access_token>&version=2020-12-06&generation=2"

  4. 輸入認證,並遵循提示來登入您的實例。

使用 CLI 連接至主控台

請確保透過遵循 CLI 必要條件 來設定 CLI 環境。

  1. 執行下列指令,以連接至主控台:

    ibmcloud is instance-console $instance_id
    

    此指令預設會開啟一個串列主控台。 若要開啟 VNC 主控台,請在命令中加入 [--vnc] 參數,以取得主控台的 URL

  2. 視您使用的主控台而定,執行下列其中一個步驟:

    • 若為 VNC 主控台,請遵循 使用 API 連接至 VNC 主控台 中的 步驟 2步驟 7
    • 若為序列主控台,請輸入認證,並遵循提示來登入您的實例。

中斷與主控台的連線

當您完成主控台的使用時,可以透過關閉終端機或瀏覽器來中斷與主控台的連線。

主控台服務的注意事項

  1. 主控台階段作業會在閒置 10 分鐘之後到期。 不論活動為何,它會在 60 分鐘之後關閉。

    某些作業系統在終端機上會顯示閃爍的光標,例如:Ubuntu 18.04。 當您使用 VNC 主控台來存取使用這類作業系統的實例時,閃動游標會導致主控台階段作業在閒置 10 分鐘之後仍保持作用中。 不論活動為何,主控台階段作業仍會在 60 分鐘之後關閉。

  2. 如果實例已關閉電源,則主控台會中斷連接。 在實例重新啟動之前,您無法重新建立連線。

  3. 重新啟動、重設或任何未導致重新排程實例的其他作業會維護主控台連線。

  4. 每個實例的作用中 VNC 主控台數目限制為兩個。 每個實例的作用中序列主控台數目限制為一個。

  5. 有關使用串行控制台對 Linux虛擬伺服器實例進行故障排除的信息,請參閱如何使用Linux SysRq密鑰從串行控制台對Linux虛擬伺服器實例進行故障排除?。