Etapas detalhadas de solução de problemas de SSH para problemas ao se conectar a uma VM do Linux no Azure

Aplica-se a: ✔️ VMs do Linux

Há muitas razões possíveis para que o cliente de SSH não possa acessar o serviço SSH na VM. Se tiver seguido as etapas gerais de solução de problemas de SSH, será necessário solucionar o problema de conexão. Este artigo guiará você pelas etapas detalhadas de solução de problemas para determinar onde a conexão SSH está falhando e como resolver isso.

Realizar etapas preliminares

O diagrama a seguir mostra os componentes que estão envolvidos.

Diagrama que mostra os componentes do serviço SSH.

As etapas a seguir ajudarão você a isolar a origem da falha e encontrar soluções ou soluções alternativas.

  1. Verifique o status da VM no portal. No Portal do Azure, selecione Máquinas virtuais>Nome da VM.

    O painel de status da VM deve mostrar Executando. Role para baixo para mostrar a atividade recente dos recursos de computação, armazenamento e rede.

  2. Selecione Configurações para examinar os pontos de extremidade, os endereços IP, os grupos de segurança de rede e outras configurações.

    A VM deve ter um ponto de extremidade definido para o tráfego SSH que você pode exibir nos Pontos de extremidade ou no Grupo de segurança de rede. Os pontos de extremidade nas VMs que foram criados usando o Resource Manager são armazenados em um grupo de segurança de rede. Verifique se as regras foram aplicadas ao grupo de segurança de rede e se são referenciadas na sub-rede.

Para verificar a conectividade de rede, verifique os pontos de extremidade configurados e se você pode se conectar à VM por meio de outro protocolo, como HTTP ou outro serviço.

Após essas etapas, tente estabelecer novamente a conexão SSH.

Descobrir a origem do problema

O cliente SSH no computador poderá não conseguir se conectar ao serviço SSH na VM do Azure devido aos problemas ou às configurações incorretas nas seguintes áreas:

Fonte 1: computador cliente de SSH

Para que o seu computador deixe de ser a fonte da falha, verifique se ele pode estabelecer conexões SSH com outro computador local baseado em Linux.

Diagrama que destaca os componentes do computador cliente SSH.

Se a conexão falhar, verifique se os seguintes problemas ocorreram em seu computador:

  • Uma configuração de firewall local que está bloqueando o tráfego SSH de entrada ou de saída (TCP 22)
  • Um software de proxy cliente instalado localmente que está impedindo conexões de SSH
  • Um software de monitoramento de rede instalado localmente que está impedindo conexões SSH
  • Outros tipos de software de segurança que monitoram o tráfego ou que permitem/não permitem tipos específicos de tráfego

Se uma das seguintes condições se aplicar, desabilite temporariamente o software e tente novamente uma conexão SSH em um computador local para descobrir o motivo pelo qual a conexão está sendo bloqueada no seu computador. Em seguida, trabalhe com o administrador de rede para corrigir as configurações do software e permitir as conexões SSH.

Se você estiver usando autenticação de certificado, verifique se tem essas permissões para a pasta .ssh em seu diretório base:

  • Chmod 700 ~/.ssh
  • Chmod 644 ~/.ssh/*.pub
  • Chmod 600 ~/.ssh/id_rsa (ou quaisquer outros arquivos que têm suas chaves privadas armazenadas)
  • Chmod 644 ~/.ssh/known_hosts (contém os hosts aos quais você se conectou via SSH)

Fonte 2: dispositivo de borda da organização

Para que o dispositivo de borda de sua organização deixe de ser a fonte da falha, verifique se um computador conectado diretamente à Internet pode estabelecer conexões SSH a sua VM do Azure. Se você estiver acessando a VM por meio de uma VPN site a site ou de uma conexão do Azure ExpressRoute, pule para a Origem 3: grupos de segurança de rede.

Diagrama que destaca o dispositivo de borda da organização.

Se não tiver um computador que esteja diretamente conectado à Internet, crie uma nova VM do Azure em seu próprio grupo de recursos ou serviço de nuvem e use essa nova VM. Para saber mais, consulte Criar uma máquina virtual que execute o Linux no Azure. Exclua o grupo de recursos ou a VM e o serviço de nuvem ao concluir o teste.

Se você puder criar uma conexão SSH com um computador conectado diretamente à Internet, verifique se há o seguinte no dispositivo de borda da organização:

  • Um firewall interno que está bloqueando o tráfego SSH com a Internet
  • Um servidor proxy que está impedindo conexões SSH
  • Software de detecção de invasão ou de monitoramento de rede em execução em dispositivos em sua rede de borda que está impedindo conexões SSH

Trabalhe com o administrador da rede para corrigir as configurações dos dispositivos de borda de sua organização a fim de permitir o tráfego SSH com a Internet.

Origem 3: grupos de segurança de rede

Os grupos de segurança de rede proporcionam um controle mais granular do tráfego de entrada e de saída permitido. Você pode criar regras que abrangem sub-redes e serviços de nuvem em uma rede virtual do Azure. Examine as regras do grupo de segurança de rede para verificar se o tráfego SSH de entrada e saída da Internet é permitido. Para saber mais, confira Sobre grupos de segurança de rede.

Você também pode usar a Verificação de IP para validar a configuração do NSG. Para saber mais, veja Visão geral do monitoramento de rede do Azure.

Origem 4: máquina virtual do Azure baseada em Linux

A última fonte possível de problemas é a própria máquina virtual do Azure.

Diagrama que destaca a máquina virtual do Azure baseada em Linux.

Se você ainda não fez isso, siga as instruções para redefinir uma senha para máquinas virtuais baseadas em Linux.

Tente se conectar novamente do seu computador. Caso ainda não consiga, veja a seguir alguns dos possíveis problemas:

  • O serviço SSH não está em execução na máquina virtual de destino.
  • O serviço SSH não está escutando na porta TCP 22. Para testar, instale um cliente telnet no computador local e execute "telnet cloudServiceName.cloudapp.net 22". Essa etapa determina se a máquina virtual permite a comunicação de entrada e de saída para o ponto de extremidade do SSH.
  • O firewall local na máquina virtual de destino tem regras que estão impedindo o tráfego SSH de entrada ou de saída.
  • Um software de detecção de invasão ou de monitoramento de rede em execução na máquina virtual do Azure está impedindo conexões de SSH.

Recursos adicionais

Para obter mais informações sobre como solucionar problemas de acesso ao aplicativo, consulte Solucionar problemas de acesso a um aplicativo em execução em uma máquina virtual do Azure.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.