Como se conectar usando o Secure Shell (SSH) e entrar em uma máquina virtual do Azure executando o Windows
Aplica-se a: ✔️ VMs ✔️ do Windows Conjuntos de escala flexíveis
O projeto Win32 OpenSSH torna a conectividade remota com o Secure Shell onipresente, fornecendo suporte nativo no Windows. O recurso é fornecido no Windows Server versão 2019 e posterior e pode ser adicionado a versões mais antigas do Windows usando uma extensão de máquina virtual (VM).
Os exemplos abaixo usam variáveis. Você pode definir variáveis em seu ambiente da seguinte maneira.
Shell | Exemplo |
---|---|
Bash/ZSH | myResourceGroup='resGroup10' |
PowerShell | $myResourceGroup='resGroup10' |
Ativar SSH
Primeiro, você precisará habilitar o SSH em sua máquina Windows.
Implante a extensão SSH para Windows. A extensão fornece uma instalação automatizada da solução Win32 OpenSSH, semelhante a habilitar a capacidade em versões mais recentes do Windows. Use os exemplos a seguir para implantar a extensão.
az vm extension set --resource-group $myResourceGroup --vm-name $myVM --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0
Abrir porta TCP
Verifique se a porta apropriada (por padrão, TCP 22) está aberta para permitir a conectividade com a VM.
az network nsg rule create -g $myResourceGroup --nsg-name $myNSG -n allow-SSH --priority 1000 --source-address-prefixes 208.130.28.4/32 --destination-port-ranges 22 --protocol TCP
Sua VM deve ter um endereço IP público. Para verificar se sua VM tem um endereço IP público, selecione Visão geral no menu à esquerda e veja a seção Rede . Se vir um endereço IP junto a Endereço IP público, a sua VM tem um IP público. Para saber mais sobre como adicionar um endereço IP público a uma VM existente, consulte Associar um endereço IP público a uma máquina virtual
Verifique se sua VM está em execução. Na guia Visão geral, na seção essenciais, verifique se o status da VM está em execução. Para iniciar a VM, selecione Iniciar na parte superior da página.
Autenticação
Você pode autenticar em máquinas Windows usando nome de usuário e senha ou chaves SSH. O Azure não oferece suporte ao provisionamento de chaves públicas para máquinas Windows automaticamente, no entanto, você pode copiar a chave usando a extensão RunCommand.
Visão geral de SSH e chaves
SSH é um protocolo de conexão criptografado que fornece entradas seguras em conexões não seguras. Embora o SSH forneça uma conexão criptografada, o uso de senhas com conexões SSH ainda deixa a VM vulnerável a ataques de força bruta. Recomendamos conectar-se a uma VM por SSH usando um par de chaves público-privado, também conhecido como chaves SSH.
A chave pública é colocada na sua VM.
A chave privada permanece no seu sistema local. Proteja esta chave privada. Não a partilhe.
Quando você usa um cliente SSH para se conectar à sua VM (que tem a chave pública), a VM remota testa o cliente para certificar-se de que ele tem a chave privada correta. Se o cliente tiver a chave privada, ele terá acesso à VM.
Dependendo das políticas de segurança da sua organização, pode reutilizar um único par de chaves público-privado para aceder a várias VMs e serviços do Azure. Você não precisa de um par separado de chaves para cada VM ou serviço que deseja acessar.
A sua chave pública pode ser partilhada com qualquer pessoa, mas apenas você (ou a sua infraestrutura de segurança local) deve ter acesso à sua chave privada.
Formatos de chave SSH suportados
Atualmente, o Azure suporta os seguintes tipos de chave:
- Protocolo SSH 2 (SSH-2) RSA (Rivest, Shamir, Adleman) com um comprimento mínimo de 2048 bits
- ED25519 Teclas com um comprimento fixo de 256 bits
Outros formatos importantes, como Elliptic-curve Diffie-Hellman (ECDH) e Elliptic Curve Digital Signature Algorithm (ECDSA) não são suportados atualmente.
Copie uma chave pública usando a extensão RunCommand.
A extensão RunCommand fornece uma solução fácil para copiar uma chave pública em máquinas Windows e certificar-se de que o arquivo tem permissões corretas.
az vm run-command invoke -g $myResourceGroup -n $myVM --command-id RunPowerShellScript --scripts "MYPUBLICKEY | Add-Content 'C:\ProgramData\ssh\administrators_authorized_keys' -Encoding UTF8;icacls.exe 'C:\ProgramData\ssh\administrators_authorized_keys' /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F'"
Conecte-se usando Az CLI
Conecte-se a máquinas Windows usando Az SSH
comandos.
az ssh vm -g $myResourceGroup -n $myVM --local-user $myUsername
Também é possível criar um túnel de rede para portas TCP específicas através da conexão SSH. Um bom caso de uso para isso é a Área de Trabalho Remota, cujo padrão é a porta 3389.
az ssh vm -g $myResourceGroup -n $myVM --local-user $myUsername -- -L 3389:localhost:3389
Conectar-se a partir do portal do Azure
- Vá para o portal do Azure para se conectar a uma VM. Procure e selecione Máquinas Virtuais.
- Selecione a máquina virtual na lista.
- Selecione Conectar no menu à esquerda.
- Selecione a opção que se adapta à sua forma preferida de ligação. O portal ajuda a orientá-lo através dos pré-requisitos para a conexão.
Próximos passos
Saiba como transferir arquivos para uma VM existente, consulte Usar o SCP para mover arquivos de e para uma VM.