Com um par de chaves SSH (Secure Shell), você pode criar VMs (máquinas virtuais) no Azure que usam chaves SSH para autenticação. Este artigo mostra como gerar e usar rapidamente um par de arquivos de chaves SSH pública e privada para VMs Linux.
01 – Faça login no portal do Azure.
02 – Vamos criar um grupo de recursos para armazenar nossa máquina virtual e todos os recursos associados a ela.
Abra o Azure Cloud Shell e execute o seguinte comando para criar um grupo de recursos.
New-AzResourceGroup -Name RG-VMLinux -Location EastUS
Como podemos observar na imagem abaixo o recurso foi criado com sucesso.
03 – Nosso próximo passo será criar uma virtual network e subnet, execute o script abaixo para cria-los.
O script utilizado abaixo também está disponível para download no github.
https://github.com/Jadson-Alves/Criar-Virtual-Network-no-Azure
# Variaveis
$RG = “RG-VMLinux”
$Vnetname = “Vnet-VMLinux”
$Subnetname = “subnet-001”
$localização = “EastUS”
$prefixovnet = “10.0.0.0/16”
$prefixosubnet = “10.0.0.0/24”
# Criar virtual network
$virtualNetwork = New-AzVirtualNetwork `
-ResourceGroupName $RG `
-Location $localização `
-Name $Vnetname `
-AddressPrefix $prefixovnet
# Adicionar uma subnet
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
-Name $Subnetname `
-AddressPrefix $prefixosubnet `
-VirtualNetwork $virtualNetwork
# Associar a subnet à virtual network
$virtualNetwork | Set-AzVirtualNetwork
04 – Nosso próximo passo será criar o network security group e liberar as portas 443,80 e 22.
$nsgRuleVMAccess = New-AzNetworkSecurityRuleConfig -Name ‘allow-vm-access’ -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 443,80,22 -Access Allow
New-AzNetworkSecurityGroup -ResourceGroupName RG-VMLinux -Location EastUS -Name nsg-VMLinux -SecurityRules $nsgRuleVMAccess
05 – No portal do Azure pesquise por Network Security Group, selecione o network security group “nsg-VMLinux”, em seguida clique em Inbound security rules e observe que a regra allow-vm-access que libera a porta 443,80 e 22 foi criada com sucesso.
06 – Ainda na tela do network security group, vamos associar o network security group a subnet-001. Clique em Subnets –> Associate em virtual network selecione a Vnet-VMLinux e em Subnet selecione a subnet-001 e clique em OK.
07 – Como podemos observar na imagem abaixo o network security group foi associado a subnet.
Instalar o PuTTy
PuTTY é um cliente SSH e telnet, desenvolvido originalmente por Simon Tatham para a plataforma Windows. PuTTY é um software de código aberto que está disponível com o código-fonte e é desenvolvido e apoiado por um grupo de voluntários.
O PuTTy pode ser baixado no link abaixo.
08 – O vídeo abaixo mostra o processo de download e instalação do Putty para Windows.
Gerando Chaves SSH
PuTTYgen é uma ferramenta geradora de chaves para a criação de chaves SSH para PuTTY . É análogo à ferramenta ssh-keygen usada em algumas outras implementações SSH.
A função básica é criar pares de chaves públicas e privadas. O PuTTY armazena chaves em seu próprio formato em .ppk
arquivos. No entanto, a ferramenta também pode converter chaves de e para outros formatos
09 – Clique no botão iniciar, pesquise por PuTTygen.
Para criar um novo par de chaves, selecione o tipo de chave a ser gerado na parte inferior da tela (usar SSH-2 RSAcom tamanho de chave de 2048 bits é bom para a maioria das pessoas; outra alternativa bem conhecida é ECDSA).
Em seguida, clique em Gerar e comece a mover o mouse dentro da janela. Putty usa movimentos do mouse para coletar aleatoriedade. A maneira exata como você moverá o mouse não pode ser prevista por um invasor externo. Pode ser necessário mover o mouse por algum tempo, dependendo do tamanho da chave. Conforme você o move, a barra de progresso verde deve avançar.
Quando a barra de progresso fica cheia, o cálculo real da geração da chave ocorre. Isso pode levar de vários segundos a vários minutos. Quando concluído, a chave pública deve aparecer na janela. Agora você pode especificar uma senha longa para a chave.
10 – O vídeo abaixo mostra o processo de gerar a chave publica e privada.
11 – Na tela PuTTY Key Generator, em Key passphrase crie um senha longa, em seguida confirme a senha em Confirm passaphrase.
É altamente recomendável usar uma senha longa para arquivos de chave privada destinados ao uso interativo
12 – Você deve salvar pelo menos a chave privada clicando em Save private key . Também pode ser aconselhável salvar a chave pública, embora ela possa ser regenerada posteriormente carregando a chave privada. Vamos salvar as chaves em C:\tmp\Keys.
Observação: Salve a chave privada em um local seguro.
13 – Como podemos observar na imagem abaixo nossas chaves foram salvas.
Criar Máquina Virtual Linux
14 – No portal do Azure pesquise por Virtual Machines.
15 – Na tela Virtual machines, clique em +Add para criar uma nova máquina virtual.
16 – Na tela Create a virtual machine, selecione a assinatura, grupos de recursos, nome da VM, o tipo do sistema operacional, tamanho da VM, para a opção Authentication type selecione SSH public key, selecione um nome de usuário, em SSH public key source escolha Use existing public key, em SSH public key copie o valor da chave publica que foi gerada no puTTY Key Generator.
17 – Na tela Disks, em Os disk type selecione Standard HDD e clique em Next: Networking.
18 – Na tela Networking, selecione a vnet, subnet e network security group que criamos anteriormente, selecione um nome para o IP publico e clique em Next: Management.
19 – Na tela Managemente, desmarque as opões Enable auto-shutdown e Notification before shutdown, deixe as demais configurações como padrão e clique em Next: Advanced.
20 – Na tela Advanced, não vamos realizar nenhuma alteração, clique em Review + create.
21 – Na tela Review + create, clique em Create.
22 – Como podemos observar na imagem abaixo nossa máquina virtual foi provisionada.
Conectar na VM utilizando o Putty
23 – Execute o PuTTy, em Host Name insira o endereço IP do servidor, vamos conectar no servidor na porta 22, em Connection type deixe selecionado o SSH.
Lembrando que essa porta foi liberada no network security group.
Adicionar a chave privada a conexão do Putty a VM Linux.
24 – Na tela PuTTy Configuration, Navegue até SSH –> Auth, selecione o Auth, em Private Key file for authentication clique em Browse e selecione a chave privada que criamos.
25 – Vamos salvar essa conexão para acessos futuros, clique em Session em Saved Sessions digite um nome para a conexão e clique em Save.
26 – Após conectar na VM será solicitado o nome de usuário da VM e a senha que definimos na chama privada.
Comente suas sugestões e observações! Forte abraço, obrigado e até o próximo post.
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.