Base de Conhecimento

Como criar chave SSH e entrar na VPS sem senha

  • como criar chave ssh, chave ssh, vps, ssh-keygen, tutorial
  • Usuários acharam útil: 0

Do ssh-keygen ao login sem senha: crie o par de chaves no Linux, Mac ou Windows, envie a pública para a VPS e desligue a senha só depois de testar.

Por Redação Eleven Host · @robson.direitodigital · 27 de outubro de 2026 · 8 min de leitura

Arte da Eleven Host: janela de terminal com o título: Como criar chave SSH e entrar na VPS sem senha

Capa da Redação Eleven Host para o guia: Como criar chave SSH e entrar na VPS sem senha Arte: Eleven Host

Para saber como criar chave SSH, rode ssh-keygen -t ed25519 no seu computador. O comando gera um par de chaves: a privada fica com você e a pública vai para o servidor, que passa a aceitar a sua entrada sem senha.

Este guia leva do comando até o login sem senha, passando por Linux, Mac e Windows 10/11. O guia Como montar servidor VPS: do plano ao primeiro site cita a chave SSH em um parágrafo; aqui está o passo a passo completo. Troque usuario e 203.0.113.10 pelo seu usuário e pelo IP da sua VPS.

O que é uma chave SSH

A chave SSH é um par de arquivos. A chave privada fica no seu computador e equivale a uma senha: não a compartilhe com ninguém. A chave pública é a que vai para o servidor e pode ser compartilhada.

Quando você conecta, o servidor confere se a sua chave privada combina com a pública que ele guardou. Se combinar, você entra sem digitar a senha da conta.

Por que usar chave em vez de senha

Uma senha pode ser adivinhada por quem tentar muitas vezes. Quando você desliga o login por senha no servidor, quem não tem a sua chave privada não consegue entrar por esse caminho.

Isso não faz o servidor ficar imune a problemas. Chave SSH é uma camada de proteção do acesso e funciona junto com firewall e atualizações. O outro lado é que, sem a chave e sem a senha, você também fica de fora. Mais adiante o guia mostra como se prevenir.

Antes de começar

Criar a chave no Linux e no Mac

Abra o terminal no seu computador, não no servidor, e rode:

  • ssh-keygen -t ed25519 -C "notebook-maria"

O -t ed25519 escolhe o tipo da chave. O -C define um comentário para você reconhecer a chave depois; se não informar, o padrão é usuario@maquina. Sem nenhum argumento, o ssh-keygen também gera uma chave Ed25519.

O comando pergunta onde salvar e pede uma passphrase. Aceite o local sugerido. Os arquivos ficam em:

  • Chave privada: ~/.ssh/id_ed25519
  • Chave pública: ~/.ssh/id_ed25519.pub

A passphrase é uma senha opcional que cifra o arquivo da chave privada. Com ela, quem copiar o arquivo ainda precisa da passphrase. Se quiser trocá-la depois, use ssh-keygen -p. Se você a esquecer, não há como recuperá-la: será preciso gerar uma chave nova e copiar a pública para o servidor outra vez.

Criar a chave no Windows 10/11

No Windows 10 e no 11, o ssh-keygen do OpenSSH roda no PowerShell ou no Prompt de Comando. O comando é o mesmo:

  • ssh-keygen -t ed25519 -C "notebook-maria"

Os arquivos ficam na pasta C:\Users\seu-usuario\.ssh\, com os mesmos nomes do Linux. Segundo a Microsoft, a chave privada equivale a uma senha, e deixar a passphrase vazia não é recomendado.

ssh-agent no Windows (opcional)

O ssh-agent guarda a chave privada carregada, para você não digitar a passphrase a cada conexão. No Windows o serviço vem desativado. Abra o PowerShell como administrador e rode:

  1. Get-Service ssh-agent | Set-Service -StartupType Automatic
  2. Start-Service ssh-agent
  3. ssh-add $env:USERPROFILE\.ssh\id_ed25519

Precisa de um servidor? Veja os planos de VPS a partir de R$ 17,00/mês, no Plano Bronze. Ver planos de VPS

Enviar a chave pública para o servidor

A chave pública precisa estar no arquivo ~/.ssh/authorized_keys do usuário, no servidor.

Linux e Mac: ssh-copy-id

  • ssh-copy-id usuario@203.0.113.10

O comando pede a senha da conta para enviar a chave. Ele cria a pasta ~/.ssh e o authorized_keys no servidor se faltarem, acrescenta a chave no fim do arquivo e testa antes, para não duplicar. Para escolher a chave, use -i ~/.ssh/id_ed25519.pub. Se o SSH usa outra porta, acrescente -p 2222.

Windows: envio manual

Sem o ssh-copy-id, faça à mão. Abra o arquivo id_ed25519.pub num editor de texto e copie o conteúdo, que é uma linha só. Entre no servidor com a senha e rode:

  1. mkdir -p ~/.ssh
  2. nano ~/.ssh/authorized_keys

Cole a chave numa linha nova do arquivo (uma chave por linha), salve e ajuste as permissões:

  1. chmod 700 ~/.ssh
  2. chmod 600 ~/.ssh/authorized_keys

As permissões importam porque o servidor SSH ignora o authorized_keys se ele, a pasta ~/.ssh ou a home puderem ser gravados por outros usuários.

Entrar com a chave

Abra uma conexão nova a partir do seu computador:

  • ssh usuario@203.0.113.10

Se a chave estiver em outro caminho, indique-a com ssh -i ~/.ssh/id_ed25519 usuario@203.0.113.10. Se você definiu uma passphrase, ela é pedida aqui (ou uma vez, se o ssh-agent estiver ativo). Se o servidor ainda pedir a senha da conta, a chave provavelmente não foi aceita: revise o conteúdo e as permissões do authorized_keys.

Só desligue o login por senha depois de entrar com a chave numa janela nova e manter a janela antiga aberta. Se algo der errado, ela ainda é o seu caminho de volta.

Desligar o login por senha com segurança

Siga esta ordem, sem pular passos.

  1. Teste a chave em outra janela. Com a janela atual aberta, abra uma segunda e entre com ssh usuario@203.0.113.10. Só continue se entrar sem a senha da conta.
  2. Edite o arquivo de configuração no servidor: sudo nano /etc/ssh/sshd_config. Coloque PasswordAuthentication no e KbdInteractiveAuthentication no. O padrão do OpenSSH para a senha é yes; PubkeyAuthentication já vem yes.
  3. Olhe a pasta sshd_config.d. No arquivo de configuração vale o primeiro valor lido, e ele pode ter um Include de /etc/ssh/sshd_config.d/*.conf lido antes. Confira se algum arquivo dali liga a senha de novo.
  4. Valide a sintaxe: sudo sshd -t. Sem mensagem de erro, o arquivo é válido.
  5. Veja o valor que vale de fato: sudo sshd -T | grep -i passwordauthentication. O resultado deve mostrar passwordauthentication no.
  6. Aplique: sudo systemctl restart ssh. Em Ubuntu e Debian o serviço se chama ssh; em outras distribuições pode se chamar sshd.
  7. Teste de novo, antes de fechar a janela antiga: abra uma terceira janela e entre com a chave. Só então feche as outras.

Sobre o usuário root: o padrão do OpenSSH em PermitRootLogin é prohibit-password, que impede o root de entrar por senha e deixa só a chave. Os outros valores são yes, forced-commands-only e no.

Se você perder a chave

Com o login por senha desligado, perder a chave privada deixa você sem acesso. Duas medidas ajudam antes que isso aconteça:

  • Guarde uma cópia da chave privada em um local seguro, e não num lugar que outras pessoas alcancem.
  • Cadastre duas chaves no authorized_keys, de dois computadores diferentes, uma por linha.

Se mesmo assim perder o acesso, abra um chamado no suporte da Eleven Host e descreva a situação. O atendimento é em português.

Checklist antes de desligar a senha

  • Decidi sobre a passphrase da chave privada (a Microsoft não recomenda deixá-la vazia) e existe uma cópia dela em local seguro.
  • A chave pública está no authorized_keys do usuário, uma por linha.
  • As permissões estão em 700 na pasta ~/.ssh e 600 no authorized_keys.
  • Entrei com a chave numa janela nova, com a antiga ainda aberta.
  • O usuário que entra tem sudo.
  • A porta do SSH está liberada no firewall.
  • O sudo sshd -t não mostrou erro.
  • O sudo sshd -T mostrou passwordauthentication no.
  • Testei o login de novo depois do restart, antes de fechar a janela antiga.

Quer ter um servidor seu? Os planos de VPS saem a partir de R$ 17,00/mês, no Plano Bronze. Conhecer a VPS

Perguntas frequentes

Preciso de passphrase na chave SSH?

Ela é opcional, mas a Microsoft não recomenda deixá-la vazia. Com passphrase, o arquivo da chave privada fica cifrado. O ssh-agent evita digitá-la a cada conexão.

Posso usar a mesma chave em vários servidores?

Pode: a chave pública pode ser compartilhada e copiada para o authorized_keys de cada servidor. A chave privada continua só no seu computador, e quem a obtiver entra em todos esses servidores; por isso a passphrase e o cuidado com o arquivo importam.

O ssh-copy-id não existe no meu Windows. E agora?

Use o envio manual: copie a linha do arquivo .pub, cole numa linha nova do authorized_keys no servidor e ajuste as permissões com chmod 700 e chmod 600.

O servidor ainda pede senha depois de eu enviar a chave. O que olhar?

Confira se a chave foi colada inteira numa única linha e se as permissões da home, da pasta ~/.ssh e do authorized_keys impedem gravação por outros usuários. Com o login por senha desligado, veja também o valor efetivo com sudo sshd -T.

E se eu perder a chave com a senha desligada?

Sem a chave privada, você perde o acesso por SSH. Abra um chamado no suporte e descreva o caso. Para evitar isso, guarde uma cópia em local seguro ou cadastre duas chaves.

Esta resposta lhe foi útil?

Artigos Relacionados