Conectar-se a uma VM usando Bastion e o cliente nativo do Windows
Este artigo ajuda você a se conectar a uma VM na rede virtual usando o cliente nativo (SSH ou RDP) em seu computador Windows local. O recurso de cliente nativo permite que você se conecte às VMs de destino via Bastion usando a CLI do Azure e expande suas opções de entrada para incluir o par de chaves SSH local e a ID do Microsoft Entra. Para obter mais informações e etapas para configurar o Bastion para conexões de cliente nativas, consulte Configurar o Bastion para conexões de cliente nativas. As conexões via cliente nativo exigem o Bastion Standard SKU ou superior.
Depois de configurar o Bastion para suporte ao cliente nativo, você pode se conectar a uma VM usando um cliente Windows nativo. O método que você usa para se conectar depende do cliente do qual você está se conectando e da VM à qual você está se conectando. A lista a seguir mostra algumas das maneiras disponíveis de se conectar a partir de um cliente nativo do Windows. Consulte Conectar-se a VMs para obter a lista completa mostrando as combinações de conexão de cliente/recurso disponíveis.
- Conecte-se a uma VM do Windows usando az network bastion rdp.
- Conecte-se a uma VM Linux usando az network bastion ssh.
- Conecte-se a uma VM usando o túnel bastion az network.
- Carregue e descarregue ficheiros através de RDP.
- Carregue arquivos sobre SSH usando o túnel bastion az network.
Pré-requisitos
Antes de começar, verifique se você tem os seguintes pré-requisitos:
- A versão mais recente dos comandos da CLI (versão 2.32 ou posterior) está instalada. Você pode atualizar sua CLI para Bastion usando
az extension update --name bastion
o . Para obter informações sobre como instalar os comandos da CLI, veja Instalar a CLI do Azure e Introdução à CLI do Azure. - O Azure Bastion já está implantado e configurado para sua rede virtual. Para conhecer as etapas, consulte Configurar Bastion para conexões de cliente nativas.
- Uma máquina virtual na rede virtual.
- O ID de recurso da VM. A ID do Recurso pode ser facilmente localizada no portal do Azure. Vá para a página Visão geral da sua VM e selecione o link Visualização JSON para abrir o JSON de recurso. Copie o ID do recurso na parte superior da página para a área de transferência para usar mais tarde ao se conectar à sua VM.
- Se você planeja entrar em sua máquina virtual usando suas credenciais do Microsoft Entra, verifique se a máquina virtual está configurada usando um dos seguintes métodos:
- Habilite a entrada do Microsoft Entra para uma VM do Windows ou Linux VM.
- Configure sua VM do Windows para que o Microsoft Entra seja associado.
- Configure sua VM do Windows para que o Microsoft Entra ingresse híbrido.
Verificar funções e portas
Verifique se as seguintes funções e portas estão configuradas para se conectar à VM.
Funções necessárias
Função de leitor na máquina virtual.
Função de leitor na NIC com IP privado da máquina virtual.
Função de leitor no recurso Azure Bastion.
Função de Login de Administrador de Máquina Virtual ou Logon de Usuário de Máquina Virtual, se você estiver usando o método de entrada do Microsoft Entra. Você só precisa fazer isso se estiver habilitando o login do Microsoft Entra usando os processos descritos em um destes artigos:
Portas
Para se conectar a uma VM Linux usando o suporte nativo ao cliente, você deve ter as seguintes portas abertas em sua VM Linux:
- Porta de entrada: SSH (22) ou
- Porta de entrada: valor personalizado (você precisará especificar essa porta personalizada quando se conectar à VM por meio do Azure Bastion)
Para se conectar a uma VM do Windows usando o suporte nativo ao cliente, você deve ter as seguintes portas abertas na VM do Windows:
- Porta de entrada: RDP (3389) ou
- Porta de entrada: valor personalizado (você precisará especificar essa porta personalizada quando se conectar à VM por meio do Azure Bastion)
Para saber como configurar melhor os NSGs com o Azure Bastion, consulte Trabalhando com acesso ao NSG e Azure Bastion.
Ligar a uma VM
As etapas nas seções a seguir ajudam você a se conectar a uma VM de um cliente nativo do Windows usando o comando az network bastion .
RDP para uma VM do Windows
Quando um usuário se conecta a uma VM do Windows via RDP, ele deve ter direitos na VM de destino. Se o usuário não for um administrador local, adicione o usuário ao grupo Usuários da Área de Trabalho Remota na VM de destino.
Entre na sua conta do Azure usando
az login
o . Se você tiver mais de uma assinatura, poderá visualizá-las usandoaz account list
e selecionar a assinatura que contém seu recurso Bastion usandoaz account set --subscription "<subscription ID>"
.Para se conectar via RDP, use o exemplo a seguir.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
Depois de executar o comando, você será solicitado a inserir suas credenciais. Você pode usar um nome de usuário e senha locais ou suas credenciais do Microsoft Entra. Depois de entrar na VM de destino, o cliente nativo no computador é aberto com a sessão da VM via MSTSC.
Importante
A conexão remota com VMs que ingressaram na ID do Microsoft Entra é permitida somente a partir de PCs com Windows 10 ou posteriores registrados no Microsoft Entra (começando com o Windows 10 20H1), Microsoft Entra ingressado ou Microsoft Entra híbrido ingressado no mesmo diretório que a VM.
Especificar método de autenticação
Opcionalmente, você também pode especificar o método de autenticação como parte do comando.
- Autenticação do Microsoft Entra: para Windows 10 versão 20H2+, Windows 11 21H2+ e Windows Server 2022, use
--enable-mfa
. Para obter mais informações, consulte az network bastion rdp - optional parameters.
Especificar uma porta personalizada
Você pode especificar uma porta personalizada ao se conectar a uma VM do Windows via RDP.
Um cenário em que isso poderia ser especialmente útil seria conectar-se a uma VM do Windows através da porta 22. Esta é uma possível solução alternativa para a limitação com o comando az network bastion ssh , que não pode ser usado por um cliente nativo do Windows para se conectar a uma VM do Windows.
Para especificar uma porta personalizada, inclua o campo --resource-port no comando sign-in, conforme mostrado no exemplo a seguir.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"
RDP para um endereço IP de VM do Windows
Você também pode se conectar a um endereço IP privado da VM, em vez do ID do recurso. A autenticação do Microsoft Entra e as portas e protocolos personalizados não são suportados ao usar esse tipo de conexão. Para obter mais informações sobre conexões baseadas em IP, consulte Conectar-se a uma VM - Endereço IP.
Usando o az network bastion
comando, substitua --target-resource-id
por --target-ip-address
e o endereço IP especificado para se conectar à sua VM.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"
SSH para uma VM Linux
Entre na sua conta do Azure usando
az login
o . Se você tiver mais de uma assinatura, poderá visualizá-las usandoaz account list
e selecionar a assinatura que contém seu recurso Bastion usandoaz account set --subscription "<subscription ID>"
.Entre na VM Linux de destino usando uma das seguintes opções de exemplo. Se desejar especificar um valor de porta personalizado, inclua o campo --resource-port no comando sign-in.
ID do Microsoft Entra:
Se você estiver entrando em uma VM habilitada para login do Microsoft Entra, use o seguinte comando. Para obter mais informações, consulte Azure Linux VMs e Microsoft Entra ID.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"
Par de chaves SSH:
A extensão pode ser instalada executando,
az extension add --name ssh
. Para entrar usando um par de chaves SSH, use o exemplo a seguir.az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Nome de utilizador/palavra-passe:
Se você estiver entrando usando um nome de usuário e senha locais, use o seguinte comando. Em seguida, será solicitada a senha para a VM de destino.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
Depois de entrar na VM de destino, o cliente nativo no computador é aberto com a sessão da VM usando a extensão SSH CLI (az ssh).
SSH para um endereço IP de VM Linux
Você também pode se conectar a um endereço IP privado da VM, em vez do ID do recurso. A autenticação do Microsoft Entra e as portas e protocolos personalizados não são suportados ao usar esse tipo de conexão. Para obter mais informações sobre conexões baseadas em IP, consulte Conectar-se a uma VM - Endereço IP.
Usando o az network bastion
comando, substitua --target-resource-id
por --target-ip-address
e o endereço IP especificado para se conectar à sua VM.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Conectar-se a uma VM - comando tunnel
O comando az network bastion tunnel é outra maneira de se conectar às suas VMs. Ao usar esse comando, você pode fazer o seguinte:
- Conecte-se a partir de clientes nativos em computadores locais que não sejam Windows. (Por exemplo, um computador Linux.)
- Conecte-se a uma VM usando SSH ou RDP. (O túnel bastion não retransmite servidores Web ou hosts.)
- Use o cliente nativo de sua escolha.
- Carregue ficheiros para a VM de destino a partir do computador local. Atualmente, não há suporte para o download de arquivos da VM de destino para o cliente local para este comando.
Limitações:
- Não há suporte para entrar usando uma chave privada SSH armazenada no Cofre de Chaves do Azure com esse recurso. Antes de entrar em sua VM Linux usando um par de chaves SSH, baixe sua chave privada para um arquivo em sua máquina local.
- Esse recurso não é compatível com o Cloud Shell.
Passos:
Entre na sua conta do Azure usando
az login
o . Se você tiver mais de uma assinatura, poderá visualizá-las usandoaz account list
e selecionar a assinatura que contém seu recurso Bastion usandoaz account set --subscription "<subscription ID>"
.Abra o túnel para a VM de destino.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Conecte-se à VM de destino usando SSH ou RDP, o cliente nativo de sua escolha e a porta da máquina local especificada na etapa anterior.
Por exemplo, você pode usar o seguinte comando se tiver o cliente OpenSSH instalado no computador local:
ssh <username>@127.0.0.1 -p <LocalMachinePort>
Túnel para um endereço IP da VM
Você também pode se conectar a um endereço IP privado da VM, em vez do ID do recurso. A autenticação do Microsoft Entra e as portas e protocolos personalizados não são suportados ao usar esse tipo de conexão. Para obter mais informações sobre conexões baseadas em IP, consulte Conectar-se a uma VM - Endereço IP.
Usando o az network bastion tunnel
comando, substitua --target-resource-id
por --target-ip-address
e o endereço IP especificado para se conectar à sua VM.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Túnel multiconexão
Adicione o seguinte ao seu $HOME.ssh\config.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
Adicione a conexão de túnel à sua conexão de túnel estabelecida.
az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22
Crie um túnel ssh no túnel bastião.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Use o VS Code para se conectar à sua conexão de túnel.