使用 Azure Bastion 建立 Windows VM 的 SSH 連線

本文說明如何直接透過 Azure 入口網站,安全且順暢地為 Azure 虛擬網路中的 Windows VM 建立 SSH 連線。 使用 Azure Bastion 後,VM 就無須用戶端、代理程式或其他軟體。 您也可以使用 RDP 連線至 Windows VM。 如需相關資訊,請參閱建立 Windows VM 的 RDP 連線

Azure Bastion 可為佈建所在虛擬網路中的所有 VM 提供安全連線。 使用 Azure Bastion 來保護您的虛擬機器免於向外公開 RDP/SSH 連接埠,同時提供使用 RDP/SSH 的安全存取。 如需詳細資訊,請參閱什麼是 Azure Bastion?

注意

如果您想要建立 Windows VM 的 SSH 連線,則必須使用標準 SKU 來設定 Azure Bastion。

使用 SSH 連線到 Windows 虛擬機器時,您可以透過使用者名稱/密碼和 SSH 金鑰來進行驗證。

SSH 私密金鑰的格式必須以 "-----BEGIN RSA PRIVATE KEY-----" 開頭並以 "-----END RSA PRIVATE KEY-----" 結尾。

必要條件

請務必於 VM 所在的虛擬網路中設定 Azure Bastion 主機。 如需詳細資訊,請參閱建立 Azure Bastion 主機。 在虛擬網路中佈建及部署 Bastion 服務之後,您就可以使用該服務連線到此虛擬網路中的任何 VM。

若要透過 SSH 連線到 Windows 虛擬機器,您也必須確定:

  • 您的 Windows 虛擬機器正在執行 Windows Server 2019 或更新版本。
  • 您已在 Windows 虛擬機器上安裝並執行 OpenSSH 伺服器。 若要了解這項做法,請參閱安裝 OpenSSH
  • Azure Bastion 已設定為使用標準 SKU。

所需角色

若要建立連線,必須具備下列角色:

  • 虛擬機器上的讀者角色
  • 虛擬機器的私人 IP 位址與 NIC 上的讀者角色
  • Azure Bastion 資源上的讀者角色
  • 目標虛擬機器的虛擬網路上讀取者角色 (若 Bastion 部署位於對等互連的虛擬網路中)。

連接埠

若要透過 SSH 連線到 Windows VM,請務必在 VM 上開啟下列連接埠:

  • 輸入連接埠:SSH (22) 或
  • 輸入連接埠:自訂值 (透過 Azure Bastion 連線到 VM 後,您就需要指定此自訂連接埠)

如需其他需求,請參閱 Azure Bastion 常見問題集

支援的設定

目前,Azure Bastion 僅支援使用 OpenSSH 透過 SSH 連線到 Windows VM。

Bastion 連線頁面

  1. Azure 入口網站中,前往您要連線的虛擬機器。 在 [概觀] 頁面上,選取 [連線],然後從下拉式清單中選取 [Bastion],以開啟 Bastion 連線頁面。 您也可以從左窗格選取 Bastion

    Screenshot shows the overview for a virtual machine in Azure portal with Connect selected.

  2. 在 [Bastion 連線] 頁面上,按一下 [連線設定] 箭號來展開所有可用的設定。 請注意,如果您使用的是 Bastion 標準 SKU,則您具有更多的可用設定。

    Screenshot shows connection settings.

  3. 使用下列各節中的其中一種方法進行驗證和連線。

使用者名稱與密碼

使用下列步驟來使用使用者名稱和密碼進行驗證。

Screenshot shows Password authentication.

  1. 若要使用使用者名稱和密碼來進行驗證,請進行下列設定:

    • 通訊協定:選取 [SSH]。
    • 連接埠:輸入連接埠號碼。 自訂連接埠連線僅適用於標準 SKU。
    • 驗證類型:從下拉式清單中選取 [密碼]
    • 使用者名稱:輸入使用者名稱。
    • 密碼:輸入密碼
  2. 若要在新瀏覽器索引標籤中使用 VM,請選取 [在新的瀏覽器索引標籤中開啟]

  3. 按一下 [連線] 以連線至 VM。

本機檔案中的私密金鑰

使用下列步驟,從本機檔案使用 SSH 私密金鑰來進行驗證。

Screenshot shows private key from local file authentication.

  1. 若要使用本機檔案中的私密金鑰來進行驗證,請進行下列設定:

    • 通訊協定:選取 [SSH]。
    • 連接埠:輸入連接埠號碼。 自訂連接埠連線僅適用於標準 SKU。
    • 驗證類型:從下拉式清單中選取 [本機檔案中的 SSH 私密金鑰]
    • 本機檔案:選取本機檔案。
    • SSH 複雜密碼:視需要輸入 SSH 複雜密碼。
  2. 若要在新瀏覽器索引標籤中使用 VM,請選取 [在新的瀏覽器索引標籤中開啟]

  3. 按一下 [連線] 以連線至 VM。

密碼 - Azure Key Vault

使用下列步驟,從 Azure Key Vault 使用密碼來進行驗證。

Screenshot shows password from Azure Key Vault authentication.

  1. 若要使用 Azure Key Vault 的密碼進行驗證,請進行下列設定:

    • 通訊協定:選取 [SSH]。

    • 連接埠:輸入連接埠號碼。 自訂連接埠連線僅適用於標準 SKU。

    • 驗證類型:從下拉式清單中選取 [來自 Azure Key Vault 的密碼]

    • 使用者名稱:輸入使用者名稱。

    • 訂閱:選取訂閱。

    • Azure Key Vault:選取 Key Vault。

    • Azure Key Vault 祕密:選取包含 SSH 私密金鑰值的 Key Vault 祕密。

      • 如果您尚未設定 Azure Key Vault 資源,請參閱建立金鑰保存庫,並將 SSH 私密金鑰儲存為新 Key Vault 祕密的值。

      • 請務必取得儲存在 Key Vault 資源中祕密的 ListGet 存取權。 若要指派及修改 Key Vault 資源的存取原則,請參閱指派 Key Vault 存取原則

        注意

        請使用 PowerShellAzure CLI 體驗,將您的 SSH 私密金鑰儲存為 Azure Key Vault 中的祕密。 透過 Azure Key Vault 入口網站體驗儲存私密金鑰會對格式設定造成干擾,導致登入失敗。 如果您確實使用了入口網站體驗將私密金鑰儲存為祕密,且無法再存取原始私密金鑰檔案,請參閱更新 SSH 金鑰,即可透過新的 SSH 金鑰組更新目標 VM 的存取權。

  2. 若要在新瀏覽器索引標籤中使用 VM,請選取 [在新的瀏覽器索引標籤中開啟]

  3. 按一下 [連線] 以連線至 VM。

私密金鑰 - Azure Key Vault

使用下列步驟,使用儲存在 Azure Key Vault 中的私密金鑰來進行驗證。

Screenshot shows Private key stored in Azure Key Vault authentication.

  1. 若要使用儲存在 Azure Key Vault 中的私密金鑰來進行驗證,請進行下列設定:

    • 通訊協定:選取 [SSH]。

    • 連接埠:輸入連接埠號碼。 自訂連接埠連線僅適用於標準 SKU。

    • 驗證類型:從下拉式清單中選取 [Azure Key Vault 中的 SSH 私密金鑰]

    • 使用者名稱:輸入使用者名稱。

    • 訂閱:選取訂閱。

    • Azure Key Vault:選取 Key Vault。

      • 如果您尚未設定 Azure Key Vault 資源,請參閱建立金鑰保存庫,並將 SSH 私密金鑰儲存為新 Key Vault 祕密的值。

      • 請務必取得儲存在 Key Vault 資源中祕密的 ListGet 存取權。 若要指派及修改 Key Vault 資源的存取原則,請參閱指派 Key Vault 存取原則

        注意

        請使用 PowerShellAzure CLI 體驗,將您的 SSH 私密金鑰儲存為 Azure Key Vault 中的祕密。 透過 Azure Key Vault 入口網站體驗儲存私密金鑰會對格式設定造成干擾,導致登入失敗。 如果您確實使用了入口網站體驗將私密金鑰儲存為祕密,且無法再存取原始私密金鑰檔案,請參閱更新 SSH 金鑰,即可透過新的 SSH 金鑰組更新目標 VM 的存取權。

    • Azure Key Vault 祕密:選取包含 SSH 私密金鑰值的 Key Vault 祕密。

  2. 若要在新瀏覽器索引標籤中使用 VM,請選取 [在新的瀏覽器索引標籤中開啟]

  3. 按一下 [連線] 連線 VM。

下一步

如需 Azure Bastion 的詳細資訊,請參閱 Bastion 常見問題