Conectar-se a uma VM do Linux

Ao hospedar uma máquina virtual do Linux no Azure, o método mais comum para acessar essa VM é por meio do Protocolo SSH (Secure Shell). Qualquer cliente SSH padrão comumente encontrado no Linux e no Windows permite que você se conecte. Também é possível usar o Azure Cloud Shell em qualquer navegador da Web.

Este documento descreve como se conectar, via SSH, a uma VM que tem um IP público. Se você precisar se conectar a uma VM sem um IP público, consulte o Serviço do Azure Bastion.

Pré-requisitos

  • Você precisa de um par de chaves SSH. Se você ainda não tiver um, o Azure cria um par de chaves durante o processo de implantação. Se você precisar de ajuda para criar um manualmente, consulte Criar e usar um par de chaves pública-privada SSH para VMs do Linux no Azure.

  • Você precisa de um NSG (grupo de segurança de rede) existente. A maioria das VMs tem um NSG por padrão, mas se você ainda não tiver um, pode criar um e anexá-lo manualmente. Para saber mais, confira Criar, alterar ou excluir um grupo de segurança de rede.

  • Para se conectar a uma VM do Linux, você precisa ter a porta apropriada em aberto. Normalmente, o SSH usa a porta 22. As instruções a seguir pressupõem a porta 22, mas o processo é o mesmo para outros números da porta. É possível validar se uma porta apropriada está aberta para SSH usando a solução de problemas ou verificando manualmente as configurações da VM. Para verificar se a porta 22 está aberta:

    1. Na página da VM, selecione Rede no menu à esquerda.

    2. Na página Rede, verifique se há uma regra que permite o TCP na porta 22 do endereço IP do computador que você está usando para se conectar à VM. Se houver uma regra, será possível seguir para a próxima seção.

      Captura de tela mostrando como verificar se já existe uma regra que permite conexões SSH.

    3. Se não houver uma regra, adicione-a selecionando Adicionar regra de porta de entrada.

    4. Para o Serviço, selecione SSH na lista suspensa.

      Captura de tela que mostra onde escolher SSH ao criar uma nova regra NSG.

    5. Edite Prioridade e Origem, se necessário

    6. Para Nome, digite SSH.

    7. Quando terminar, selecione Adicionar.

    8. Agora deve haver uma regra SSH na tabela de regras de porta de entrada.

  • 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 examine a seção Rede. Quando há um endereço IP ao lado de Endereço IP público, isso significa que sua VM tem um IP público

    Se sua VM não tiver um endereço IP público, ela terá essa aparência:

    Captura de tela da aparência da seção de rede quando você não tem um IP público.

    Para saber como adicionar um endereço IP público a uma VM existente, confira Associar um endereço IP público a uma máquina virtual

  • Verifique se a VM está em execução. Na guia Visão geral, na seção Informações gerais, verifique se o status da VM está Em execução. Na parte superior da página, selecione Iniciar para iniciar a VM.

    Captura de tela que mostra como verificar se sua máquina virtual está no estado de execução.

Se você estiver tendo problemas para se conectar, também poderá usar o portal:

  1. Vá para o portal do Azure a fim de se conectar a uma VM. Pesquise por Máquinas virtuais e selecione essa opção.
  2. Selecione a máquina virtual na lista.
  3. Selecione Conectar no menu esquerdo.
  4. Selecione a opção que se ajusta à sua maneira preferida de se conectar. O portal ajuda você a percorrer os pré-requisitos para se conectar.

Conectar-se à VM

Depois que os pré-requisitos acima forem atendidos, você estará pronto para se conectar à sua VM. Abra o cliente SSH de sua escolha. O comando do cliente SSH normalmente está incluído no Linux, no macOS e no Windows. Se você estiver usando o Windows 7 ou anterior, em que o OpenSSH do Win32 não está incluído por padrão, considere instalar o WSL ou usar o Azure Cloud Shell no navegador.

Observação

Os exemplos a seguir pressupõem que a chave SSH está no formato key.pem. Se você usou a CLI ou o Azure PowerShell para baixar suas chaves, elas podem estar no formato id_rsa ou ED25519.

SSH com um novo par de chaves

  1. Verifique se suas chaves públicas e privadas estão no diretório correto. Geralmente, o diretório é ~/.ssh.

    Se você gerou as chaves manualmente ou as gerou com a CLI, as chaves provavelmente já estão lá. No entanto, se você as baixou no formato pem no portal do Azure, talvez seja necessário movê-las para o local certo. A movimentação das chaves é feita com a seguinte sintaxe: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    Por exemplo, se a chave estiver na pasta Downloads e myKey.pem for o nome da sua chave SSH, digite:

    mv /Downloads/myKey.pem ~/.ssh
    

    Observação

    Se você estiver usando o WSL, os arquivos locais serão encontrados no diretório mnt/c/. Assim, o caminho para a pasta de downloads e chave SSH seria /mnt/c/Users/{USERNAME}/Downloads/myKey.pem

  2. Verificar se você tem acesso somente leitura à chave privada ao executar

    chmod 400 ~/.ssh/myKey.pem
    
  3. Execute o comando SSH com a seguinte sintaxe: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    Por exemplo, se azureuser for o nome de usuário que você criou e 20.51.230.13 for o endereço IP público da sua VM, digite:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. Valide a impressão digital retornada.

    Se você nunca se conectou a essa VM, precisará verificar a impressão digital do host. É tentador aceitar a impressão digital que é apresentada, mas isso expõe você a um possível ataque person-in-the-middle. Você sempre deve validar a impressão digital do host. Você precisará fazer isso somente na primeira vez que se conectar a um cliente. Para obter a impressão digital do host por meio do portal, use o recurso Comando para executar o comando:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. Êxito! Agora você deve estar conectado à sua VM. Se você não conseguir se conectar, confira Solucionar problemas de conexões SSH.

SSH com chave pública existente

  1. Execute o comando a seguir no seu cliente SSH. Neste exemplo, 20.51.230.13 é o endereço IP público da sua VM e o azureuser é o nome de usuário que você criou quando criou a VM.

    ssh azureuser@20.51.230.13
    
  2. Valide a impressão digital retornada.

    Se você nunca se conectou à VM desejada do cliente SSH atual antes de precisar verificar a impressão digital do host. Embora a opção padrão seja aceitar a impressão digital apresentada, você será exposto a um possível ataque “person-in-the-middle”. Você sempre deve validar a impressão digital do host, o que só precisa ser feito na primeira vez que o cliente se conecta. Para obter a impressão digital do host por meio do portal, use o recurso Executar Comando para executar:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Êxito! Agora você deve estar conectado à sua VM. Se você não conseguir se conectar, consulte nosso guia de solução de problemas.

Autenticação de senha

Aviso

Esse tipo de método de autenticação não é tão seguro como um par de chaves SSH e não é recomendado.

  1. Execute o comando a seguir no seu cliente SSH. Neste exemplo, 20.51.230.13 é o endereço IP público da sua VM e o azureuser é o nome de usuário que você criou quando criou a VM.

    ssh azureuser@20.51.230.13
    

    Se você esqueceu sua senha ou nome de usuário, consulte Redefinir acesso a uma VM do Azure

  2. Valide a impressão digital retornada.

    Se você nunca se conectou à VM desejada do cliente SSH atual antes de precisar verificar a impressão digital do host. Embora a opção padrão seja aceitar a impressão digital apresentada, você será exposto a um possível ataque “person-in-the-middle”. Você sempre deve validar a impressão digital do host, o que só precisa ser feito na primeira vez que o cliente se conecta. Para obter a impressão digital do host por meio do portal, use o recurso Executar Comando para executar:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Êxito! Agora você deve estar conectado à sua VM. Se você não conseguir se conectar, confira Solucionar problemas de conexões SSH.

Próximas etapas

Saiba como transferir arquivos para uma VM existente. Consulte Usar SCP para mover arquivos de e para uma VM.