Acesso SSH a servidores habilitados para Azure Arc

O 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 e aadsshlogin-selinux (conforme apropriado) deve ser instalado no servidor habilitado para Arc. Esses pacotes são instalados com a Azure 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 usam dataActions e podem ser atribuídas no grupo de gerenciamento, assinatura, grupo de recursos ou escopo de recurso. 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 suportadas por Arc-Enabled Servers, com as seguintes exceções:

  • Alemanha Centro-Oeste

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.

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 deve 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