Configurar VM Linux com autenticação de chave pública

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.

https://www.putty.org/

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 .ppkarquivos. 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 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.

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *