Acesso SSH aos servidores habilitados para Azure Arc
O SSH para servidores habilitados para Arc permite conexões baseadas em SSH para servidores habilitados para Arc sem exigir um endereço IP público ou portas abertas adicionais. Essa funcionalidade pode ser usada interativamente, automatizada ou com ferramentas baseadas em SSH existentes, permitindo que as ferramentas de gerenciamento existentes tenham um impacto maior nos servidores habilitados para Azure Arc.
Principais benefícios
O acesso SSH aos servidores habilitados para Arc fornece os seguintes principais benefícios:
- Nenhum endereço IP público ou portas SSH abertas necessárias
- Acesso a computadores Windows e Linux
- Capacidade de fazer logon como um usuário local ou um Usuário do Azure (somente Linux)
- Suporte para outras ferramentas baseadas em OpenSSH com suporte a arquivos de configuração
Pré-requisitos
Para habilitar essa funcionalidade, verifique o seguinte:
- Verifique se o servidor habilitado para Arc tem uma versão do agente híbrido "1.31.xxxx" ou superior. Execute:
azcmagent show
no servidor habilitado para Arc. - Verifique se o servidor habilitado para Arc tem o serviço "sshd" habilitado. Em computadores
openssh-server
Linux, ele pode ser instalado por meio de um gerenciador de pacotes, e precisa ser habilitado. O SSHD precisa ser habilitado no Windows. - Você deve ter a função Proprietário ou Colaborador atribuída.
A autenticação com as credenciais do Microsoft Entra tem requisitos adicionais:
aadsshlogin
eaadsshlogin-selinux
(conforme apropriado) deve ser instalado no servidor habilitado para Arc. Esses pacotes são instalados com a extensão da VMAzure AD based SSH Login – Azure Arc
.Configure atribuições de função para a VM. Duas funções do Azure são usadas para autorizar o logon na VM:
- Logon de Administrador da Máquina Virtual: os usuários que têm essa função atribuída podem fazer logon em uma máquina virtual do Azure com privilégios de administrador.
- Logon de Usuário da Máquina Virtual: os usuários que têm essa função atribuída podem fazer logon em uma máquina virtual do Azure com privilégios de usuário normal.
Um usuário do Azure que tenha a função Colaborador ou Proprietário atribuída a uma VM não passa a ter automaticamente privilégios para fazer logon no Microsoft Entra na VM por SSH. Há uma separação intencional (e auditada) entre o conjunto de pessoas que controla as máquinas virtuais e o conjunto de pessoas que pode acessar as máquinas virtuais.
Observação
As funções Logon de Administrador da Máquina Virtual e Logon de Usuário da Máquina Virtual usam
dataActions
e podem ser atribuídas no escopo do grupo de gerenciamento, da assinatura, do grupo de recursos ou do recurso. Recomendamos que você atribua as funções no nível do grupo de gerenciamento, da assinatura ou do recurso e não no nível da VM individual. Essa prática evita o risco de atingir o limite de atribuições de função do Azure por assinatura.
Disponibilidade
O acesso SSH a servidores habilitados para Arc é atualmente suportado em todas as regiões de nuvem pública suportadas por servidores habilitados para Arc.
Observação
Atualmente não há suporte para nuvens não públicas.
Introdução
Registrar o provedor de recursos HybridConnectivity
Observação
Essa é uma operação única que precisa ser executada em cada assinatura.
Verifique se o RP (provedor de recursos) HybridConnectivity foi registrado:
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
Se o RP não tiver sido registrado, execute o seguinte:
az provider register -n Microsoft.HybridConnectivity
Essa operação pode levar de dois a cinco minutos para ser concluída. Antes de seguir em frente, verifique se o RP foi registrado.
Criar ponto de extremidade de conectividade padrão
Observação
A etapa a seguir não precisará ser executada para a maioria dos usuários, pois ela deverá ser realizada automaticamente na primeira conexão. Esta etapa deverá ser realizada para cada servidor habilitado para Arc.
- Criar o ponto de extremidade padrão com a CLI do Azure:
- Criar o ponto de extremidade padrão com o Azure PowerShell:
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{"properties": {"type": "default"}}'
Observação
Siga a etapa a seguir se estiver usando a CLI do Azure no PowerShell.
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{\"properties\":{\"type\":\"default\"}}'
Valide a criação do ponto de extremidade:
az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15
Instalar a ferramenta de linha de comando local
Atualmente, essa funcionalidade está empacotada em uma extensão da CLI do Azure e em um módulo do Azure PowerShell.
- Instalar a extensão da CLI do Azure
- Instalar o módulo Azure PowerShell
az extension add --name ssh
Observação
A versão da extensão da CLI do Azure deve ser superior à 2.0.0.
Habilitar a funcionalidade no servidor habilitado para Arc
Para usar o recurso de conexão SSH, você deve atualizar a Configuração de Serviço no Ponto de extremidade de conectividade no Servidor habilitado para Arc para permitir a conexão SSH com uma porta específica. Você só pode permitir a conexão com uma única porta. As ferramentas da CLI tentam atualizar a porta permitida em runtime, mas a porta pode ser configurada manualmente com o seguinte:
Observação
Poderá haver um atraso depois de atualizar a Configuração de Serviço até que você possa se conectar.
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body "{\"properties\": {\"serviceName\": \"SSH\", \"port\": 22}}"
Se você estiver usando uma porta diferente da padrão para sua conexão SSH, substitua a porta 22 pela porta desejada no comando anterior.
Opcional: instalar a extensão de logon do Azure AD
A extensão da VM Azure AD based SSH Login – Azure Arc
pode ser adicionada por meio do menu de extensões do servidor Arc. A extensão de logon do Azure AD também pode ser instalada localmente por meio de um gerenciador de pacotes por meio de: apt-get install aadsshlogin
ou do seguinte comando.
az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>
Exemplos
Para ver exemplos, exiba a página de documentação da CLI do Azure para az ssh ou a página de documentação do Azure PowerShell para Az.Ssh.
Próximas etapas
- Saiba mais sobre o OpenSSH para Windows
- Saiba mais sobre como solucionar problemas de acesso SSH a servidores habilitados para Azure Arc.
- Saiba mais sobre como solucionar problemas de conexão do agente.