适用于: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 群集,请执行以下操作:
生成 SSH 密钥。 有关详细信息,请参阅 使用 Azure CLI生成和存储 SSH 密钥:
az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>使用预生成的 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 群集时可能发生的错误消息的信息,请参阅 控制平面配置验证错误 一文。
后续步骤
- 使用 SSH 连接到 Windows 或 Linux 工作器节点
- 限制对特定 IP 地址的 SSH 访问
- 获取用于故障排除的按需日志
- 通过遵循 Azure Arc 启用的 AKS 安全手册中的指导,以其他方式来帮助保护群集。