共用方式為


限制對 Azure Arc 所啟用 AKS 中的虛擬機的 SSH 存取(Azure Local 22H2 上的 AKS)

適用於:Azure Local 22H2 上的 AKS、Windows Server 上的 AKS

本文說明 AKS Arc 中的新安全性功能,可限制基礎虛擬機 (VM) 的安全殼層通訊協定 (SSH) 存取。 此功能只會限制對特定IP位址的存取,並限制您可以透過SSH執行的命令集。

概述

目前,具有Arc所啟用 AKS 系統管理員存取權的任何人都可以透過 SSH 在任何電腦上存取 VM。 在某些情況下,您可能會想要限制該存取,因為不受限制的存取使得難以符合法規要求。

注意

目前,這項功能僅適用於新的 AKS Arc 安裝,不適用於升級。 只有新的 AKS Arc 安裝可以傳遞受限制的 IP,並限制透過 SSH 執行的命令。

啟用 SSH 限制

若要啟用 SSH 限制,請執行下列步驟:

  1. 使用 New-AksHciSSHConfiguration Cmdlet 建立 SSH 配置,並指定允許存取 VM 的來源 IP 位址或 CIDR。

    $ssh = New-AksHciSSHConfiguration -name sshConfig -cidr 172.16.0.0/24
    

    $ssh = New-AksHciSSHConfiguration -name sshConfig -ipAddresses 4.4.4.4,8.8.8.8
    

    或,限制 SSH 存取:

    $ssh = New-AksHciSSHConfiguration -name sshConfig –restrictSSHCommands 
    

    注意

    如果未傳遞 SSH 金鑰,則會重複使用管理叢集 SSH 金鑰。

  2. 執行 Set-AksHciConfig Cmdlet 來新增 SSH 組態,並傳入您在上一個步驟中建立的 SSH 組態:

    Set-AksHciConfig -ssh $ssh
    

驗證:目標集群

建立叢集之後,您可以手動驗證 SSH 限制是否已新增,方法是嘗試 SSH 進入其中一個 VM。 例如:

ssh -i (get-MocConfig).sshPrivateKey clouduser@<vm-ipaddress>

您可以在指定的IP位址/CIDR 清單中,或在IP位址清單之外執行此步驟。 IP 位址/CIDR 範圍內的 SSH 具有存取權。 來自清單外部的 SSH 嘗試沒有存取權。

您也可以直接從 SSH 執行命令。 此命令會傳回日期。 Sudo 命令無法運作:

ssh -i (get-mocconfig).sshPrivateKey clouduser@<ip> date 

驗證:記錄收集

此命令會傳回 VM 記錄,例如 cloudinitlb 記錄等。

Get-AksHciLogs –virtualMachineLogs

考量

  • 工作負載叢集的個別 SSH 組態現已可供使用。 工作負載叢集的設定會使用 New-AksHciSSHConfiguration PowerShell cmdlet。
  • 限制僅適用於Linux。 Windows 節點沒有此限制;您應該能夠成功 SSH。
  • 您只能在 AKS Arc 的安裝階段設定組態。
  • 如果您未正確設定任何 SSH 設定,則必須執行重新安裝。
  • 不支持升級。
  • 您可以新增可限制 SSH 存取的 CIDR 或 IP 位址。
  • 您提供的 SSH 設定會針對所有目標叢集重複使用。 工作負載叢集的個別 SSH 組態無法使用。

後續步驟