为 AKS Arc 群集配置 SSH 密钥

适用于:Azure Local 上的 AKS

安全外壳协议(SSH) 是一种加密连接协议,它通过不安全的连接提供安全登录。 Azure Local 上的 AKS 支持使用公钥-私钥对(也称为 SSH 密钥)通过 SSH 访问 Kubernetes 节点中的 VM。 有关如何创建和管理 SSH 密钥的信息,请参阅 创建和管理 SSH 密钥

部署 AKS Arc 群集时需要 SSH 密钥。 创建群集时,可以生成新的密钥对或使用现有公钥。 本文介绍如何通过 Azure CLI 和 Azure 门户为 AKS Arc 群集使用 SSH 密钥。

开始之前

若要创建 AKS Arc 群集,请确保拥有本地基础结构管理员所需的详细信息,如 创建 Kubernetes 群集中所述。

Azure CLI

使用 az aksarc create 命令创建具有 SSH 公钥的 AKS Arc 群集。 若要生成新密钥,请传递 --generate-ssh-key 参数。 若要使用现有公钥,请使用 --ssh-key-value 参数指定密钥或密钥文件。 若要限制对特定 IP 地址的 SSH 访问,请使用 --ssh-auth-ips 参数。 有关说明,请参阅 限制对虚拟机的 SSH 访问。

SSH 参数 描述
--generate-ssh-key - 如果本地计算机上不存在 SSH 密钥,则为必需参数。 指定 --generate-ssh-key时,Azure CLI 自动生成一组 SSH 密钥,并将其保存在默认目录中 ~/.ssh/
- 如果本地计算机上已有 SSH 密钥,AKS 群集将重复使用该密钥。 在此方案中,无论是指定 --generate-ssh-keys 还是完全省略参数,它都不起作用。
--ssh-key-value - 用于 SSH 访问节点 VM 的公钥路径或密钥内容。 例如:ssh-rsa AAAAB ... UcyupgH azureuser@linuxvm
- 默认情况下,此密钥位于 ~/.ssh/id_rsa.pub中。 可以在创建群集期间使用 --ssh-key-value 参数指定其他位置。
--ssh-auth-ips 允许通过 SSH 连接到群集 VM 的 IP 地址或 CIDR 范围的逗号分隔列表。

以下示例演示如何使用此命令:

  • 若要创建 AKS Arc 群集并使用默认生成的 SSH 密钥,请执行以下操作:

    az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet>_Id --aad-admin-group-object-ids <entra-admin-group-object-ids> --generate-ssh-keys
    
  • 若要使用预生成的 SSH 密钥创建 AKS Arc 群集,请执行以下操作:

    1. 生成 SSH 密钥。 有关详细信息,请参阅 使用 Azure CLI生成和存储 SSH 密钥:

      az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>
      
    2. 使用预生成的 SSH 密钥创建 AKS Arc 群集:

      az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet_Id> --aad-admin-group-object-ids <entra-admin-group-object-ids> --ssh-key-value $pubkey.publickey
      
  • 若要指定 SSH 公钥文件,请包括 --ssh-key-value 参数:

    az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet_Id> --aad-admin-group-object-ids <entra-admin-group-object-ids> --generate-ssh-keys --ssh-key-value ~/.ssh/id_rsa.pub
    

Azure 门户

有关如何从 Azure 门户创建新的 SSH 密钥的信息,请参阅 在门户中创建和管理 SSH 密钥

使用 Azure 门户创建 AKS Arc 群集时,请提供所需的信息,如 创建 Kubernetes 群集中所述。 可以在“基本”选项卡下的 管理员帐户 部分中配置 SSH 密钥。

有三个选项可用于 SSH 密钥配置:

  • 生成新的密钥对。
  • 使用 Azure 中存储的现有密钥并从存储的密钥中进行选择。
  • 通过提供 SSH 公钥值,使用现有公钥。

错误消息

有关在 Azure 本地上创建和部署 AKS 群集时可能发生的错误消息的信息,请参阅 控制平面配置验证错误 一文。

后续步骤