Acesso SSH a servidores habilitados para Azure Arc
SSH para servidores habilitados para Arc permite conexões baseadas em SSH para servidores habilitados para Arc sem a necessidade de um endereço IP público ou portas abertas adicionais. Essa funcionalidade pode ser usada de forma interativa, 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 a servidores habilitados para Arc oferece os seguintes benefícios principais:
- Não é necessário um endereço IP público ou portas SSH abertas
- Acesso a máquinas Windows e Linux
- Capacidade de iniciar sessão como um utilizador local ou um utilizador do Azure (apenas 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 de agente híbrido de "1.31.xxxx" ou superior. Executar:
azcmagent show
no seu servidor habilitado para Arc. - Verifique se o servidor habilitado para Arc tem o serviço "sshd" habilitado. Para máquinas
openssh-server
Linux pode ser instalado através de um gerenciador de pacotes e precisa ser ativado. O SSHD precisa ser habilitado no Windows. - Certifique-se de ter a função de Proprietário ou Contribuinte atribuída.
A autenticação com 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 aAzure AD based SSH Login – Azure Arc
extensão VM.Configure atribuições de funções para a VM. São utilizadas duas funções do Azure para autorizar o início de sessão da VM:
- Login de Administrador de 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.
- Login 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 regulares.
Um usuário do Azure que tenha a função de Proprietário ou Colaborador atribuída a uma VM não tem automaticamente privilégios para o logon do Microsoft Entra na VM por SSH. Existe uma separação intencional (e auditada) entre o conjunto de pessoas que controlam máquinas virtuais e o conjunto de pessoas que podem aceder a máquinas virtuais.
Nota
As funções Login de Administrador de Máquina Virtual e Login de Usuário de Máquina Virtual são usadas
dataActions
e podem ser atribuídas no grupo de gerenciamento, assinatura, grupo de recursos ou escopo de recursos. Recomendamos que você atribua as funções no nível de grupo de gerenciamento, assinatura ou recurso e não no nível de 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.
Nota
Atualmente, não há suporte para nuvens não públicas.
Introdução
Registrar o provedor de recursos HybridConnectivity
Nota
Esta é uma operação única que precisa ser executada em cada assinatura.
Verifique se o provedor de recursos (RP) 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
Esta operação pode levar de 2 a 5 minutos para ser concluída. Antes de prosseguir, verifique se o RP foi registado.
Criar ponto de extremidade de conectividade padrão
Nota
A etapa a seguir não precisará ser executada para a maioria dos usuários, pois deve ser concluída automaticamente na primeira conexão. Esta etapa deve ser concluída para cada servidor habilitado para Arc.
- Crie o ponto de extremidade padrão com a CLI do Azure:
- Crie 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"}}'
Nota
Se estiver usando a CLI do Azure a partir do PowerShell, o seguinte deverá ser usado.
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 ferramenta de linha de comando local
Essa funcionalidade está atualmente empacotada em uma extensão da CLI do Azure e em um módulo do Azure PowerShell.
az extension add --name ssh
Nota
A versão da extensão da CLI do Azure deve ser maior que 2.0.0.
Habilite a funcionalidade em seu servidor habilitado para Arc
Para usar o recurso de conexão SSH, você deve atualizar a Configuração do 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 tempo de execução, mas a porta pode ser configurada manualmente com o seguinte:
Nota
Pode haver um atraso após a atualização da Configuração do Serviço até que você consiga 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 não padrão para sua conexão SSH, substitua a porta 22 pela porta desejada no comando anterior.
Opcional: Instalar a extensão de login do Azure AD
A Azure AD based SSH Login – Azure Arc
extensão VM pode ser adicionada no 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 via: apt-get install aadsshlogin
ou o 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 exibir exemplos, exiba a página de documentação da Az CLI para az ssh ou a página de documentação do Azure PowerShell para Az.Ssh.
Próximos passos
- 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.