Secure Shell (SSH) é uma ferramenta chave para o desenvolvimento do WordPress. Ele concede aos usuários avançados acesso às principais plataformas e softwares que tornam a codificação e outras tarefas mais fáceis, rápidas e mais organizadas.

Portanto, se você tentar usar o SSH apenas para ver um erro “Conexão recusada”, você pode começar a se sentir preocupado. No entanto, esta é uma questão comum, e é inteiramente possível resolvê-la sozinha com apenas um pouco de solução de problemas. Você estará de volta aos comandos em pouco tempo.

Neste post, vamos discutir o que é SSH e quando usá-lo. Então explicaremos algumas razões comuns para que sua conexão seja recusada, inclusive em PuTTY. Finalmente, vamos dar algumas dicas de solução de problemas.

Vamos mergulhar!

O que é SSH e quando devo usá-lo?

Secure Shell (SSH), também chamado às vezes de Secure Socket Shell, é um protocolo para acessar com segurança o servidor do seu site através de uma rede não segura. Em outras palavras, é uma maneira de entrar no seu servidor remotamente e com segurança usando a sua interface de linha de comando preferida:

exemplo de login ssh
Usando SSH para acessar remotamente um site WordPress hospedado na Kinsta

Ao contrário do Protocolo de Transferência de Arquivos (FTP), que só permite carregar, excluir e editar arquivos em seu servidor, o SSH pode realizar uma ampla gama de tarefas. Por exemplo, se um erro o bloquear fora do seu site WordPress, você pode usar o SSH para acessá-lo remotamente.

Este protocolo também permite que você utilize várias ferramentas-chave para desenvolvedores, incluindo:

  • WP-CLI. A linha de comando WordPress. Você pode usá-lo para uma variedade de tarefas, incluindo novas instalações, atualizações de plugins em massa e importação de arquivos de mídia.
  • Compositor. Um gerenciador de pacotes PHP. Ele permite que você implemente várias estruturas para uso no código do seu site, puxando as bibliotecas e dependências necessárias.
  • Git. Um sistema de controle de versão usado para rastrear mudanças no código. Isto é especialmente útil para equipes de desenvolvedores que trabalham juntos em um único projeto.
  • npm. Um gerenciador de pacotes JavaScript. Inclui uma linha de comando e um registo de software JavaScript. Nota: Os clientes Kinsta precisarão de um plano empresarial para ter acesso a este recurso.

É importante notar que o uso do SSH é uma habilidade avançada. Em geral, os usuários leigos do WordPress devem contatar seus desenvolvedores ou provedores de hospedagem para obter ajuda, em vez de tentar resolver problemas com o próprio SSH.

Porque é que a minha conexão SSH é recusada? (5 Razões para Erros de Conectividade)

Infelizmente, há muitos cenários que podem ocorrer enquanto você está tentando se conectar ao seu servidor via SSH, o que pode resultar em uma leitura de erro “Conexão recusada”.

Abaixo estão algumas das questões mais comuns que podem estar causando problemas para você.

1. O seu serviço SSH está em baixo

Para se conectar ao seu servidor com SSH, deve estar rodando um daemon SSH – um programa que roda em segundo plano para ouvir e aceitar conexões.

Se este serviço estiver desligado, você não será capaz de se conectar com sucesso ao seu servidor e poderá receber um erro de conexão recusada:

Conexão Erro recusado no Terminal
Conexão Erro recusado no Terminal

O daemon SSH do seu servidor pode estar desligado por uma grande variedade de razões, incluindo picos de tráfego inesperados, interrupções de recursos ou até mesmo um ataque DDoS (Distributed Denial of Service). Além das etapas de solução de problemas que mencionaremos abaixo, você pode querer contatar o seu provedor de hospedagem para determinar a causa raiz do problema.

Se você suspeita que seu serviço SSH pode estar em baixo, você pode executar este comando para descobrir:

sudo service ssh status

Se a linha de comando retornar um status de down, então você provavelmente encontrou a razão por trás do seu erro de conectividade.

2. Você Tem as Credenciais Erradas

Embora possa parecer muito simples para ser verdade, é possível que você esteja apenas inserindo as credenciais erradas ao tentar se conectar ao seu servidor. Há quatro informações necessárias para executar o SSH:

  • Nome do anfitrião. O endereço IP do servidor ao qual você está tentando se conectar ou o nome do seu domínio.
  • Nome de usuário. Seu nome de usuário (S)FTP.
  • Senha. Sua senha (S)FTP.
  • Porto. A porta padrão é 22. Entretanto, alguns provedores de hospedagem (incluindo Kinsta) mudam seu número de porta SSH por razões de segurança. Se este for o caso, você deve ser capaz de encontrá-lo entrando no seu painel MyKinsta.

Você também pode verificar qual porta está sendo usada para o SSH executando este comando:

grep Port /etc/ssh/sshd_config

A linha de comando deve retornar a porta correta.

Verifique se você está digitando as credenciais certas e levando em conta a possibilidade de digitação ou de digitação do endereço IP ou porta errada.

3. O porto que você está tentando usar está fechado

Uma “porta” é simplesmente o ponto final para o qual você é direcionado quando se conecta ao seu servidor. Além de ter certeza que você tem a porta correta, você também vai querer verificar se a porta que você está tentando usar está aberta.

Qualquer porta aberta é uma vulnerabilidade de segurança, pois os hackers podem tentar explorá-la e obter acesso ao servidor. Por esta razão, os portos não utilizados são frequentemente fechados para evitar ataques.

Caso a porta 22, ou a porta SSH personalizada do seu servidor, tenha sido fechada, você provavelmente verá um erro de Conexão recusada. Você pode verificar se a porta está ouvindo executando este comando:

sudo netstat -plnt

A linha de comando deve retornar uma lista de portas e seus respectivos “estados”. Você quer que o estado do porto 22 seja OUVIDO. Se não for, você precisará reabrir a porta para se conectar ao seu servidor.

4. O SSH não está instalado no seu servidor

Como mencionado anteriormente, os servidores usam daemons SSH para ouvir e aceitar conexões. Portanto, se o servidor ao qual você está tentando se conectar não tiver um instalado, você não será capaz de acessá-lo usando SSH.

De modo geral, quase todos os provedores de hospedagem terão daemons SSH instalados em seus servidores por padrão. Esta questão em particular é mais comum em servidores locais ou dedicados.

5. Configurações de firewall impedem a conexão SSH

Como as portas abertas apresentam um risco de segurança, firewalls instalados para proteger os servidores contra hackers às vezes bloqueiam as conexões com eles. Infelizmente, isto significa que mesmo os usuários inofensivos que estão tentando SSH em seus servidores podem receber um erro de conexão recusado como resultado das configurações do firewall.

Se a sua configuração parece estar em ordem e você ainda não consegue se conectar, dê uma olhada nas regras do seu firewall. Você pode exibi-los em sua interface de linha de comando com os seguintes comandos:

sudo iptables-save # display IPv4 rules
sudo ip6tables-save # display IPv6 rules

Seus resultados vão variar, mas você vai querer procurar por esses elementos para determinar se o seu firewall está bloqueando conexões SSH:

  • dport 22: Refere-se à porta de destino, que para SSH é normalmente a porta 22 (lembrete: Kinsta não usa este número de porta).
  • REJEITAR: Isto indicaria que as conexões estão sendo recusadas a partir do destino especificado.
  • DROP: Tal como o REJECT, isto significa que a conexão à porta relevante estão sendo bloqueadas.

Se você pesquisar os resultados dos comandos acima por dport 22, você deve ser capaz de determinar se o seu firewall está impedindo uma conexão SSH. Se assim for, terá de alterar as regras para aceitar pedidos.

Por que PuTTY diz que a conexão foi recusada?

PuTTY é um cliente SSH. Se você está familiarizado com FTP, esta plataforma é o equivalente do FileZilla ao SSH em máquinas Windows. Em outras palavras, PuTTY permite que os usuários digitem suas credenciais e iniciem uma conexão SSH:

O site PuTTY
O site PuTTY

Se você é um usuário PuTTY e vê o erro de Conexão recusada, a causa é provavelmente uma das listadas acima.

Este é um erro de conectividade SSH como qualquer outro, e as dicas de solução de problemas abaixo devem funcionar quer você esteja usando PuTTY, Terminal, ou qualquer outro programa para se conectar ao seu servidor com SSH.

Como posso solucionar problemas de conectividade do SSH?

Quando você está experimentando um erro de conectividade SSH, há alguns passos que você pode tomar para solucionar o problema, dependendo da causa. Aqui estão algumas dicas para solucionar os motivos de um erro de conexão recusada que cobrimos acima:

  • Se o seu serviço SSH estiver em baixo. Contacte o seu fornecedor de hospedagem para ver porque é que o seu serviço SSH não está a funcionar. Para servidores locaishost ou dedicados, você pode usar o comando sudo service ssh restart para tentar colocá-lo novamente em execução.
  • Se você inseriu as credenciais erradas. Depois de verificar a porta SSH usando o comando grep Port /etc/ssh/sshd_config, tente conectar novamente com os detalhes corretos.
  • Se a sua porta SSH estiver fechada. Este é geralmente um efeito colateral de um dos dois motivos listados abaixo. Instale um daemon SSH no servidor ao qual você quer se conectar ou altere suas regras de firewall para aceitar conexões à sua porta SSH.
  • Se o SSH não estiver instalado no seu servidor. Instale uma ferramenta SSH como o OpenSSH no servidor ao qual você quer se conectar usando o comando sudo apt install openssh-server.
  • Se o seu firewall está bloqueando sua conexão SSH. Desative as regras de firewall bloqueando sua conexão SSH alterando as configurações da porta de destino para ACCEPT.

Se você estiver tentando se conectar ao servidor do seu provedor de hospedagem, pode ser mais sensato contatar o suporte do que tentar resolver o problema você mesmo. Os usuários em servidores locais ou dedicados poderão encontrar mais suporte em fóruns mais avançados se nenhuma das soluções acima funcionar.

Resumo

Ser capaz de se conectar ao seu servidor com SSH é conveniente em uma ampla gama de situações. Ele pode permitir que você acesse seu site quando estiver bloqueado fora do seu painel de controle do WordPress, executar comandos via WP-CLI, rastrear alterações no código do seu site com o Git, e muito mais.

Embora existam várias causas que podem estar por trás do seu erro de conectividade SSH, estas são algumas das mais comuns:

  1. O seu serviço SSH está em baixo.
  2. Você tem as credenciais erradas.
  3. O porto que estás a tentar usar está fechado.
  4. O SSH não está instalado no seu servidor.
  5. As configurações da Firewall estão impedindo uma conexão SSH.