Partilhar via


Ligar a uma VM do Linux

Ao hospedar uma máquina virtual Linux no Azure, o método mais comum para acessar essa VM é por meio do Secure Shell Protocol (SSH). Qualquer cliente SSH padrão comumente encontrado no Linux e Windows permite que você se conecte. Você também pode usar o Azure Cloud Shell de qualquer navegador.

Este documento descreve como se conectar, via SSH, a uma VM que tenha um IP público. Se você precisar se conectar a uma VM sem um IP público, consulte Azure Bastion Service.

Nota

ED25519 suporte de chave SSH para VMs Linux está agora em pré-visualização em todas as regiões, incluindo nuvens soberanas.

Pré-requisitos

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

  • Você precisa de um NSG (Network Security Group) existente. A maioria das VMs tem um NSG por padrão, mas se você ainda não tiver um, poderá criar um e anexá-lo manualmente. Para obter mais informações, consulte Criar, alterar ou excluir um grupo de segurança de rede.

  • Para se conectar a uma VM Linux, você precisa da porta apropriada aberta. Normalmente, o SSH usa a porta 22. As instruções a seguir assumem a porta 22, mas o processo é o mesmo para outros números de porta. Você pode validar que uma porta apropriada está aberta para SSH usando a solução de problemas ou verificando manualmente nas 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 permita o TCP na porta 22 a partir do endereço IP do computador que você está usando para se conectar à VM. Se a regra existir, você pode passar para a próxima seção.

      Captura de ecrã a mostrar como verificar se já existe uma regra que permita ligações S S H.

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

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

      Captura de tela mostrando onde escolher S S H ao criar uma nova regra N S G.

    5. Editar prioridade e origem, se necessário

    6. Em Nome, digite SSH.

    7. Quando terminar, selecione Adicionar.

    8. Agora você deve ter 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 veja a seção Rede . Se você vir um endereço IP ao lado de Endereço IP público, sua VM terá um IP público

    Se a sua VM não tiver um endereço IP público, terá o seguinte aspeto:

    Captura de tela de como a seção de rede fica quando você não tem um I P 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.

    Captura de ecrã a mostrar como verificar se a máquina virtual está no estado de execução.

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

  1. Vá para o portal do Azure para se conectar a uma VM. Procure e selecione Máquinas Virtuais.
  2. Selecione a máquina virtual na lista.
  3. Selecione Conectar no menu à esquerda.
  4. 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.

Ligar-se à VM

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

Nota

Os exemplos a seguir assumem 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 as chaves pública e privada estão no diretório correto. O diretório é geralmente ~/.ssh.

    Se você gerou chaves manualmente ou as gerou com a CLI, então as chaves provavelmente já estão lá. No entanto, se você os baixou em formato pem do portal do Azure, talvez seja necessário movê-los para o local certo. Mover as teclas é feito com a seguinte sintaxe: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

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

    mv /Downloads/myKey.pem ~/.ssh
    

    Nota

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

  2. Certifique-se de ter acesso somente leitura à chave privada executando

    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 o seu 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 devolvida.

    Se você nunca se conectou a essa VM antes, será solicitado que você verifique a impressão digital dos hosts. É tentador aceitar a impressão digital apresentada, mas isso expõe você a uma pessoa em potencial no ataque do meio. Deve sempre validar a impressão digital dos anfitriões. Você só precisa fazer isso na primeira vez que se conectar a partir de um cliente. Para obter a impressão digital do host através do portal, use o recurso Executar 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, consulte Solucionar problemas de conexões SSH.

SSH com chave pública existente

  1. Execute o seguinte comando no seu cliente SSH. Neste exemplo, 20.51.230.13 é o endereço IP público da sua VM e 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 devolvida.

    Se você nunca se conectou à VM desejada a partir do seu cliente SSH atual antes de ser solicitado a verificar a impressão digital do host. Embora a opção padrão seja aceitar a impressão digital apresentada, você está exposto a uma possível "pessoa no ataque do meio". Você deve sempre validar a impressão digital do host, o que só precisa ser feito na primeira vez que seu cliente se conectar. Para obter a impressão digital do host através do portal, use o recurso Executar comando para executar o comando:

    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 da palavra-passe

Aviso

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

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

    ssh azureuser@20.51.230.13
    

    Se se esqueceu da palavra-passe ou do nome de utilizador, consulte Repor o acesso a uma VM do Azure

  2. Valide a impressão digital devolvida.

    Se você nunca se conectou à VM desejada a partir do seu cliente SSH atual antes de ser solicitado a verificar a impressão digital do host. Embora a opção padrão seja aceitar a impressão digital apresentada, você está exposto a uma possível "pessoa no ataque do meio". Você deve sempre validar a impressão digital do host, o que só precisa ser feito na primeira vez que seu cliente se conectar. Para obter a impressão digital do host através do portal, use o recurso Executar comando para executar o comando:

    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 Solucionar problemas de conexões SSH.

Próximos passos

Saiba como transferir arquivos para uma VM existente, consulte Usar o SCP para mover arquivos de e para uma VM.