Настройка ключей SSH для кластера AKS Arc
Область применения: AKS в локальной среде Azure, версия 23H2
протокол Secure Shell (SSH) — это зашифрованный протокол подключения, предоставляющий безопасные входы через незащищенные подключения. AKS в Azure Local поддерживает доступ к виртуальной машине в узлах Kubernetes через SSH с помощью пары открытого закрытого ключа, также известной как ключи SSH. Сведения о создании ключей SSH и управлении ими см. в статье Создание ключей SSH и управление ими.
При развертывании кластера AKS Arc требуется ключ SSH. При создании кластера можно создать новую пару ключей или использовать существующий открытый ключ. В этой статье объясняется, как использовать ключи SSH для кластеров AKS Arc из Azure CLI и портала Azure.
Перед началом работы
Чтобы создать кластер AKS Arc, убедитесь, что у вас есть необходимые сведения от локального администратора инфраструктуры, как описано в разделе Создание кластеров Kubernetes.
Azure CLI (интерфейс командной строки)
Используйте команду az aksarc create, чтобы создать кластер AKS Arc с открытым ключом SSH. Чтобы создать новый ключ, передайте параметр --generate-ssh-key
. Чтобы использовать существующий открытый ключ, укажите ключ или файл ключа с помощью параметра --ssh-key-value
. Чтобы ограничить доступ SSH к определенным IP-адресам, используйте аргумент --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-доступа к виртуальным машинам узла. Например: ssh-rsa AAAAB ... UcyupgH azureuser@linuxvm.
— по умолчанию этот ключ находится в ~/.ssh/id_rsa.pub. Можно указать другое расположение с помощью параметра --ssh-key-value во время создания кластера. |
--ssh-auth-ips |
Разделенный запятыми список IP-адресов или диапазонов CIDR, разрешенных для SSH в виртуальную машину кластера. |
В следующих примерах показано, как использовать эту команду:
Чтобы создать кластер 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
Чтобы создать кластер AKS Arc с помощью предварительно созданного ключа SSH:
Создайте ключ SSH. Дополнительные сведения см. в статье Создание и хранение ключей SSH с помощью Azure CLI:
az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>
Создайте кластер 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> --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
Сведения о создании новых ключей SSH на портале Azure см. в статье Создание ключей SSH и управление ими на портале.
При создании кластера AKS Arc с помощью портала Azure укажите необходимые сведения, как описано в создании кластера Kubernetes. Ключ SSH можно настроить в разделе учетной записи администратора
У вас есть три варианта настройки ключа SSH:
- Создайте новую пару ключей.
- Используйте существующий ключ, хранящийся в Azure, и выберите из сохраненных ключей.
- Используйте существующий открытый ключ, указав значение открытого ключа SSH.
Сообщение об ошибке
Если вы не предоставляете допустимые сведения о ключе SSH во время создания кластера и нет ключа SSH, вы получите сообщения об ошибках, как показано ниже:
- Файл ключа RSA или значение ключа должны быть предоставлены параметру SSH Key Value.
- Управляющая плоскость: в конфигурации кластера отсутствуют ключи безопасности.
- Открытые ключи LinuxProfile SSH должны быть допустимыми и не пустыми.
- Глобальные открытые ключи SSH LinuxProfile должны быть допустимыми и не пустыми.
Чтобы устранить проблему, см. статью Создание ключей SSH и управление ими с помощью Azure CLI для создания ключей SSH. Затем см. раздел Создание кластеров Kubernetes для используемого интерфейса. Если вы используете REST API, ознакомьтесь с подготовленными экземплярами кластера для создания подготовленного экземпляра кластера.