Pular para o conteúdo
IA-OS // subir-na-web
Curso de Introdução · Guia 3 de 3Colocar seu sistema na internet

ETAPA 7 DE 12 25 MIN

Proteger o servidor

Chave SSH, firewall do provedor e login por senha desligado.

Seu computadorMeu computador é

O servidor está na internet com um endereço fixo. Em poucos minutos, robôs começam a bater na porta tentando adivinhar a senha do root. Nesta etapa você fecha as duas portas principais: a entrada no servidor passa a ser só com uma chave que mora no seu notebook, e um firewall bloqueia tudo que não for preciso.

Entrar com chave em vez de senha

O SSH é o jeito de abrir o terminal do servidor pelo terminal do seu computador. Ele pode aceitar senha ou chave SSH: um par de arquivos, um privado (fica só no seu notebook) e um público (vai para o servidor).

Chave SSHRECOMENDADO

PONTOS FORTES

  • Impossível de adivinhar: robô nenhum descobre uma chave.
  • Você entra sem digitar senha.

PONTOS FRACOS

  • Se perder o notebook sem cópia da chave, você entra só pelo terminal do navegador do hPanel até criar outra.

Só senha

PONTOS FORTES

  • Entra de qualquer computador, sabendo a senha.

PONTOS FRACOS

  • Fica aberto para robôs tentarem senhas o dia inteiro, todo dia.
  • Uma senha vazada ou fraca entrega o servidor inteiro.

Criar a chave no seu computador

O comando é igual nos dois sistemas. Ele cria o par de chaves na pasta .ssh da sua pasta de usuário:

ssh-keygen -t ed25519 -C "meu-notebook"

Ele pergunta onde salvar: aperte Enter para aceitar o lugar padrão. Depois pede uma passphrase, uma senha que protege a chave se alguém copiar o arquivo. Crie uma, guarde no gerenciador de senhas e digite duas vezes (as letras não aparecem enquanto você digita, é normal).

Agora mostre a chave pública na tela:

NO WINDOWS

Get-Content ~/.ssh/id_ed25519.pub

NO MAC

cat ~/.ssh/id_ed25519.pub

Aparece uma linha só, começando com ssh-ed25519 e terminando com meu-notebook. Copie a linha inteira. É a pública: pode mostrar sem medo. O arquivo sem o .pub é o privado: esse nunca sai do seu computador, nem para o Claude.

Colocar a chave no servidor

  1. No hPanel, abra a página do servidor e procure Chaves SSH (em configurações ou segurança).
  2. Clique em Adicionar chave SSH, dê um nome (como meu-notebook), cole a linha e salve.
  3. Teste no seu terminal, trocando pelo IP do seu servidor:

Na primeira vez ele pergunta se confia no servidor (Are you sure you want to continue connecting): digite yes e Enter. Ele pede a passphrase da chave (não a senha do root) e entra: a linha muda para algo como root@...:~#. Você está no terminal do servidor. Saia com exit.

Agora a prova de que é a chave que está entrando, e não a senha. Este comando proíbe a senha:

ssh -o PasswordAuthentication=no [email protected]

Se ele entrar (pedindo só a passphrase), a chave funciona: saia com exit e siga. Se ele responder Permission denied, pare aqui: a chave não chegou ao servidor. Veja o que fazer no fim da página antes de continuar.

Desligar a entrada por senha

Só faça esta parte depois que o ssh -o PasswordAuthentication=no acima entrou. Entre de novo com ssh [email protected] e rode, um por vez:

echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-sem-senha.conf
systemctl reload ssh

O primeiro cria um arquivo de configuração dizendo "não aceitar senha". O segundo faz o SSH ler a configuração nova. Confira se valeu:

sshd -T | grep -i passwordauthentication

A resposta tem que ser passwordauthentication no. Saia com exit.

Ligar o firewall da Hostinger

O firewall decide quais portas do servidor respondem para a internet. Use o da Hostinger, no painel, e não um firewall dentro do servidor: o Docker, que o Coolify usa, passa por cima do firewall de dentro.

  1. No hPanel, na página do servidor, abra Segurança e Firewall.
  2. Clique em Adicionar firewall, dê o nome coolify e crie.
  3. Edite o firewall e adicione uma regra de aceitar (protocolo TCP) para cada porta:
    • 22: o SSH.
    • 80 e 443: o site, sem e com cadeado.
    • A porta do painel (a 8000 ou a 3000, a que abriu na etapa anterior), a 6001 e a 6002: o painel do Coolify por enquanto. Você fecha essas três na etapa Abrir o Coolify com cadeado.
  4. Ative o firewall no servidor.

Tudo que não estiver na lista fica bloqueado.

Não deu certo? Veja o que fazer
  • ssh pediu a senha do root em vez da passphrase: a chave não chegou ao servidor. Confira no hPanel se a chave está na lista e se você copiou a linha inteira, do ssh-ed25519 até o fim.
  • Connection timed out: o firewall está bloqueando a porta 22. Confira se a regra existe e se o firewall está ligado no servidor certo.
  • Me tranquei para fora: no hPanel, abra o Terminal do navegador (Web Console) da página do servidor e entre como root com a senha. Ele não passa pelo SSH, então sempre funciona. Lá você apaga o arquivo com rm /etc/ssh/sshd_config.d/00-sem-senha.conf, roda systemctl reload ssh e refaz a etapa com calma.
  • O painel do Coolify parou de abrir: faltou no firewall a regra da porta do painel (a que abriu na etapa anterior, 8000 ou 3000).
  • O sshd -T respondeu passwordauthentication yes: a configuração não valeu. Rode de novo o echo e o systemctl reload ssh, copiando as linhas inteiras.

Travou nesta etapa? Me conta o que aconteceu.

ESTE GUIA FAZ PARTE DE UM CURSO

Curso de Introdução

Três guias, na ordem, para sair do zero e ter o seu próprio sistema funcionando com a ajuda do Claude. Não precisa saber programar.

Este é o guia 3 de 3.

Ver o curso completo →