Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Checklist para configurar autenticação SSH por chave no Ubuntu 22.04

11 min de leitura  ·  Guia técnico

Autenticação SSH por chave é um método de acesso seguro que substitui senhas por criptografia assimétrica no Ubuntu 22.04. Para configurar corretamente, siga estes passos:

  1. Gerar par de chaves SSH no cliente com ssh-keygen
  2. Copiar chave pública para o servidor usando ssh-copy-id
  3. Configurar permissões corretas nos arquivos e diretórios
  4. Editar arquivo sshd_config para desabilitar autenticação por senha
  5. Reiniciar serviço SSH e testar conexão
  6. Criar backup das chaves e documentar configuração

Pré-requisitos

  • Servidor Ubuntu 22.04 LTS com acesso SSH ativo
  • Cliente com OpenSSH instalado (Linux, macOS ou Windows 10+)
  • Acesso administrativo (sudo) no servidor
  • Conexão de rede estável entre cliente e servidor
  • Backup atual do arquivo /etc/ssh/sshd_config

Gerando chaves SSH no cliente

A geração de chaves SSH é o primeiro passo para estabelecer autenticação segura. O algoritmo RSA com 4096 bits oferece excelente segurança para ambientes corporativos.

Execute o comando no terminal do cliente:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

O sistema solicitará informações durante o processo:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/usuario/.ssh/id_rsa
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub

Atenção: Use uma passphrase forte para proteger a chave privada. Isso adiciona uma camada extra de segurança caso o arquivo seja comprometido.

Verifique se as chaves foram criadas corretamente:

ls -la ~/.ssh/
total 16
drwx------ 2 usuario usuario 4096 dez 15 10:30 .
drwxr-xr-x 5 usuario usuario 4096 dez 15 10:25 ..
-rw------- 1 usuario usuario 3243 dez 15 10:30 id_rsa
-rw-r--r-- 1 usuario usuario  742 dez 15 10:30 id_rsa.pub

Configurando múltiplas chaves SSH

Para gerenciar diferentes servidores, crie chaves específicas com nomes descritivos:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/servidor_producao -C "[email protected]"

Copiando chave pública para o servidor

A transferência da chave pública pode ser feita automaticamente com ssh-copy-id ou manualmente. O método automático é mais seguro e eficiente.

Use o comando ssh-copy-id para transferir automaticamente:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Digite a senha atual do usuário quando solicitado:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/usuario/.ssh/id_rsa.pub"
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Método manual para cópia da chave

Se ssh-copy-id não estiver disponível, copie manualmente:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Ou visualize a chave e copie o conteúdo:

cat ~/.ssh/id_rsa.pub

No servidor, adicione ao arquivo authorized_keys:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ..." >> ~/.ssh/authorized_keys

Configurando permissões corretas no servidor

As permissões SSH devem seguir padrões específicos para funcionar corretamente. Permissões incorretas são a causa mais comum de falhas na autenticação por chave.

Conecte-se ao servidor e configure as permissões:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa 2>/dev/null || true

Verifique se as permissões estão corretas:

ls -la ~/.ssh/
total 12
drwx------ 2 usuario usuario 4096 dez 15 11:00 .
drwxr-xr-x 5 usuario usuario 4096 dez 15 10:45 ..
-rw------- 1 usuario usuario  742 dez 15 11:00 authorized_keys

Verificando propriedade dos arquivos

Confirme que o usuário é proprietário dos arquivos SSH:

sudo chown -R $USER:$USER ~/.ssh/

Para usuários específicos, substitua $USER pelo nome correto:

sudo chown -R webmaster:webmaster /home/webmaster/.ssh/

Editando configuração do servidor SSH

A configuração do daemon SSH deve ser ajustada para desabilitar autenticação por senha e fortalecer a segurança. Sempre faça backup antes de editar arquivos críticos.

Crie backup do arquivo de configuração:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Edite o arquivo de configuração:

sudo nano /etc/ssh/sshd_config

Localize e modifique estas linhas:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Atenção: Teste a conexão por chave antes de desabilitar PasswordAuthentication. Uma configuração incorreta pode bloquear o acesso ao servidor.

Configurações adicionais de segurança

Adicione estas configurações para maior segurança:

PermitRootLogin no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

Valide a configuração antes de aplicar:

sudo sshd -t

Se não houver erros, reinicie o serviço SSH:

sudo systemctl restart ssh

Testando autenticação por chave SSH

O teste de conectividade SSH deve ser realizado em uma nova sessão terminal, mantendo a conexão atual aberta como backup. Isso evita bloqueios acidentais.

Abra um novo terminal e teste a conexão:

ssh -i ~/.ssh/id_rsa [email protected]

Uma conexão bem-sucedida mostrará:

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)
Last login: Fri Dec 15 11:15:23 2023 from 192.168.1.50

Teste com modo verboso para diagnóstico

Use o modo verboso para identificar problemas:

ssh -v -i ~/.ssh/id_rsa [email protected]

Procure por estas linhas no output:

debug1: Offering public key: /home/usuario/.ssh/id_rsa RSA SHA256:...
debug1: Server accepts key: /home/usuario/.ssh/id_rsa RSA SHA256:...
debug1: Authentication succeeded (publickey).

Configurando alias SSH para facilitar acesso

Crie aliases no arquivo ~/.ssh/config:

nano ~/.ssh/config

Adicione configuração do servidor:

Host servidor-producao
    HostName 192.168.1.100
    User usuario
    IdentityFile ~/.ssh/id_rsa
    Port 22

Agora conecte usando apenas:

ssh servidor-producao

Problemas comuns e como resolver

Erro: Permission denied (publickey)

Causa: Permissões incorretas nos arquivos SSH ou chave não autorizada no servidor.
Solução: Verifique permissões com ls -la ~/.ssh/ e confirme que a chave pública está em authorized_keys. Execute chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys no servidor.

Erro: Host key verification failed

Causa: Chave do servidor mudou ou conflito no arquivo known_hosts do cliente.
Solução: Remova a entrada antiga com ssh-keygen -R 192.168.1.100 e reconecte para aceitar a nova chave. Verifique se não há ataques man-in-the-middle.

Erro: Too many authentication failures

Causa: Muitas chaves SSH carregadas no ssh-agent ou tentativas de autenticação.
Solução: Use ssh -o IdentitiesOnly=yes -i ~/.ssh/id_rsa usuario@servidor para especificar apenas uma chave. Configure MaxAuthTries no servidor se necessário.

Conexão funciona mas ainda pede senha

Causa: PasswordAuthentication ainda habilitado ou configuração SSH não recarregada.
Solução: Confirme que PasswordAuthentication está definido como "no" em /etc/ssh/sshd_config e reinicie o serviço SSH com sudo systemctl restart ssh.

Backup e gerenciamento de chaves SSH

O backup de chaves SSH é essencial para manter acesso aos servidores. Chaves perdidas podem resultar em bloqueio permanente se não houver métodos alternativos de acesso.

Crie backup seguro das chaves privadas:

tar -czf ssh-keys-backup-$(date +%Y%m%d).tar.gz ~/.ssh/
gpg -c ssh-keys-backup-$(date +%Y%m%d).tar.gz

Armazene o backup criptografado em local seguro e remova o arquivo não criptografado:

rm ssh-keys-backup-$(date +%Y%m%d).tar.gz

Rotação de chaves SSH

Implemente rotação regular de chaves para manter segurança:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_new -C "[email protected]"

Adicione a nova chave ao servidor mantendo a antiga temporariamente:

ssh-copy-id -i ~/.ssh/id_rsa_new.pub usuario@servidor

Teste a nova chave e remova a antiga do authorized_keys quando confirmado.

Monitoramento de acessos SSH

Configure logs para monitorar tentativas de acesso:

sudo tail -f /var/log/auth.log | grep ssh

Procure por padrões suspeitos como múltiplas falhas de autenticação:

Dec 15 12:00:01 servidor sshd[1234]: Accepted publickey for usuario from 192.168.1.50 port 54321 ssh2: RSA SHA256:...

Perguntas frequentes sobre autenticação SSH por chave

Como gerar uma chave SSH no Ubuntu 22.04?

Use o comando ssh-keygen -t rsa -b 4096 -C '[email protected]' no terminal. Isso criará um par de chaves RSA de 4096 bits com comentário identificador. As chaves serão salvas em ~/.ssh/id_rsa (privada) e ~/.ssh/id_rsa.pub (pública).

É seguro desabilitar autenticação por senha no SSH?

Sim, é altamente recomendado desabilitar autenticação por senha após configurar chaves SSH. Isso elimina ataques de força bruta e garante que apenas usuários com chaves autorizadas possam acessar o servidor. Sempre teste o acesso por chave antes de desabilitar senhas.

Onde ficam armazenadas as chaves SSH autorizadas no servidor?

As chaves públicas autorizadas ficam no arquivo ~/.ssh/authorized_keys do usuário no servidor. Este arquivo deve ter permissão 600 e o diretório ~/.ssh deve ter permissão 700 para funcionar corretamente.

Como testar se a autenticação por chave SSH está funcionando?

Execute ssh -i ~/.ssh/id_rsa usuario@ip-do-servidor para testar a conexão. Se configurado corretamente, você será conectado sem solicitar senha. Use ssh -v para modo verboso e diagnosticar problemas de conexão.

O que fazer se perder a chave privada SSH?

Se perder a chave privada, você precisará acessar o servidor por outro meio (console, painel de controle) para adicionar uma nova chave pública ao arquivo authorized_keys. Sempre mantenha backup seguro das chaves privadas ou configure múltiplas chaves autorizadas.

Conclusão

A configuração correta de autenticação SSH por chave no Ubuntu 22.04 elimina vulnerabilidades de senha e estabelece acesso seguro aos servidores. Este checklist garante implementação adequada desde a geração até o teste final.

  • Mantenha backups seguros das chaves privadas e documente todas as configurações aplicadas
  • Implemente rotação regular de chaves e monitore logs de acesso para detectar atividades suspeitas
  • Configure múltiplas chaves autorizadas para diferentes administradores e mantenha acesso de emergência via console

Leia também

Precisa de ajuda com configuração SSH em servidores?

Nossa equipe especializada pode auxiliar na implementação segura de autenticação SSH e outras configurações avançadas de segurança. Oferecemos suporte técnico completo para ambientes Linux corporativos.

Conheça nossos servidores VPS otimizados

  • 0 Os usuários acharam isso útil
  • ssh, autenticacao, chave-publica, ubuntu, seguranca, AviraHost
Esta resposta foi útil?

Artigos Relacionados

Instalando painel de gerenciamento de hospedagem VirtualMin.

O virtualmin é um painel de gerenciamento de hospedagem de sites gratuito, que é suportado por...

Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular

1. Pelo menu Iniciar, acesse os “Acessórios do Windows” e abra o “Conexão de Área de Trabalho...

Como acessar o painel de gerenciamento dos meus Serviços.

Para acessar o painel de gerenciamento do seu serviço basta seguir o passo á passo abaixo.   1....

Compreendendo o Servidor VPS: O que é e Como Funciona!

Um servidor VPS (Virtual Private Server) é uma solução de hospedagem na qual um servidor físico é...

Como trocar a senha do usuário root do servidor VPS ou Dedicado.

Para trocar a senha do usuário root em um servidor VPS da AviraHost, você pode seguir os...