O que é

A chave SSH é uma alternativa à senha para entrar como root na VPS. Você gera um par: a chave privada, que fica só no seu computador, e a chave pública, que vai para a VPS. O servidor aceita quem tem a privada correspondente. É mais seguro que senha (não há o que adivinhar) e você não digita a senha de root a cada conexão.

Há dois jeitos de usar chave na WFree:

  • Informar no pedido: cole a chave pública no campo "Chave SSH pública" do pedido, e a VPS já nasce com ela.
  • Adicionar depois: em uma VPS já em uso, você acrescenta a chave em /root/.ssh/authorized_keys.

Nos dois casos, o login por senha no SSH continua ligado. Se quiser que o SSH aceite só a chave, desligue a senha você mesmo (passo 5). A senha de root continua valendo no console da área do cliente.

Como fazer

  1. Gere o par no seu computador (Terminal no Linux e no macOS; PowerShell no Windows 10/11):
    ssh-keygen -t ed25519 -C "seu-nome"
    Aceite o local padrão e defina uma frase-senha (ela protege a chave se o computador for perdido). Serão criados id_ed25519 (a privada, nunca compartilhe) e id_ed25519.pub (a pública). Veja a pública com cat ~/.ssh/id_ed25519.pub: é uma linha só, começando com ssh-ed25519.
  2. Na contratação: cole essa linha inteira no campo "Chave SSH pública" do pedido.
  3. Em uma VPS que já existe: entre por senha (SSH ou console) e rode:
    mkdir -p /root/.ssh && chmod 700 /root/.ssh
    echo "COLE_AQUI_A_LINHA_DA_CHAVE_PUBLICA" >> /root/.ssh/authorized_keys
    chmod 600 /root/.ssh/authorized_keys
    No Linux e no macOS, o comando ssh-copy-id root@IP-DA-VPS, rodado no seu computador, faz o mesmo.
  4. Teste em outra janela, sem fechar a sessão atual: ssh root@IP-DA-VPS. Se entrar sem pedir a senha de root (só a frase-senha da chave, se houver), funcionou.
  5. Desligue o login por senha (opcional, só depois do teste):
    • Procure a opção em todos os arquivos de configuração do SSH:
      grep -ri passwordauthentication /etc/ssh/sshd_config /etc/ssh/sshd_config.d/
    • Deixe PasswordAuthentication no em /etc/ssh/sshd_config. Se algum arquivo dentro de /etc/ssh/sshd_config.d/ tiver PasswordAuthentication yes, troque para no ali também: esses arquivos são lidos antes e valem primeiro.
    • Confira a configuração e reinicie o SSH:
      sshd -t && systemctl restart ssh
    • Confirme: sshd -T | grep -i passwordauthentication deve mostrar passwordauthentication no. Teste de novo em outra janela antes de fechar a sessão atual.
    O console continua aceitando a senha de root.

Se der errado

  • "Permission denied (publickey)": a pública na VPS não confere com a privada usada. Confira se colou a linha inteira, sem quebras, e indique a chave: ssh -i ~/.ssh/id_ed25519 root@IP-DA-VPS.
  • "Too many authentication failures": o SSH da VPS aceita até 4 tentativas por conexão, e o seu computador pode gastá-las oferecendo outras chaves. Indique só a certa: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@IP-DA-VPS.
  • Fiquei trancado para fora: abra o console na área do cliente (serviço da VPS > Console); ele aceita a senha de root. Corrija o authorized_keys ou volte o PasswordAuthentication para yes (no mesmo arquivo em que você trocou para no) e rode sshd -t && systemctl restart ssh.
  • Perdi a chave privada: gere um par novo (passo 1). Se o login por senha no SSH continua ligado, entre por SSH com a senha de root e adicione a chave nova (passo 3). Se você o desligou, entre pelo console, volte PasswordAuthentication para yes, rode systemctl restart ssh e então entre por SSH com a senha para adicionar a chave. Se também não sabe a senha, defina outra pela opção de trocar a senha de root no painel da VPS (artigo "Trocar a senha de root da VPS").
  • Continua pedindo senha depois de adicionar a chave: confira as permissões (700 na pasta, 600 no arquivo) e leia o registro com journalctl -u ssh.
  • A chave parou de funcionar depois de restaurar ou reinstalar: restaurar um backup traz de volta as chaves SSH daquela data, e a reinstalação cria um sistema novo. Confira o authorized_keys e adicione a chave de novo, se faltar.
  • Muitas tentativas erradas: o fail2ban bloqueia o seu IP por 1 hora depois de 5 erros. Espere ou desbloqueie pelo console com fail2ban-client set sshd unbanip SEU_IP.

Quando abrir um ticket

Se nem o SSH nem o console respondem, ou se o comportamento não bate com o descrito aqui, abra um ticket em https://wfree.com.br/clientes (Suporte > Abrir Ticket). Informe o hostname da VPS, o comando usado e a saída de ssh -v root@IP-DA-VPS. A chave pública pode ir no ticket; a chave privada e a senha, nunca. A WFree não pede senha.

Cette réponse était-elle pertinente ? 0 Utilisateurs l'ont trouvée utile (0 Votes)