Chaves SSH para Servidores Cloud: O Guia Completo de Configuração e Segurança
A autenticação por chave SSH (Secure Shell) é o padrão de referência para proteger o acesso a servidores na nuvem. Quer esteja a gerir uma única instância de VPS Hosting ou uma frota inteira de Servidores Dedicados, substituir os logins baseados em palavra-passe por pares de chaves criptográficas reduz drasticamente a sua superfície de ataque e simplifica os fluxos de trabalho administrativos. Este guia completo cobre tudo o que precisa de saber — desde os mecanismos subjacentes até à configuração passo a passo e às melhores práticas de segurança.
O Que São Chaves SSH?
As chaves SSH são pares de chaves criptográficas assimétricas utilizadas para autenticar um cliente num servidor SSH. Ao contrário de uma combinação de nome de utilizador/palavra-passe — que é suscetível a ataques de força bruta, preenchimento de credenciais e phishing — as chaves SSH baseiam-se em relações matemáticas entre dois componentes distintos:
- Chave Privada: Armazenada exclusivamente na sua máquina local. Este ficheiro nunca deve ser partilhado, transmitido ou exposto. É a prova da sua identidade.
- Chave Pública: Implementada no servidor remoto. Pode ser partilhada livremente sem comprometer a segurança.
Quando inicia uma ligação SSH, o servidor verifica se a sua chave pública existe no seu ficheiro ~/.ssh/authorized_keys. Se existir, o servidor emite um desafio criptográfico que apenas o detentor da chave privada correspondente pode resolver. Uma resposta bem-sucedida concede acesso — sem necessidade de palavra-passe.
Porquê Usar Chaves SSH para Servidores na Nuvem?
A autenticação por chave SSH oferece vantagens concretas e mensuráveis em relação aos logins tradicionais por palavra-passe:
| Funcionalidade | Autenticação por Palavra-passe | Autenticação por Chave SSH |
|---|---|---|
| Resistência a força bruta | Baixa | Extremamente Alta |
| Vulnerabilidade a phishing | Alta | Nenhuma |
| Suporte a automação | Fraco | Excelente |
| Login sem palavra-passe | Não | Sim |
| Revogação de acesso | Requer alteração de palavra-passe | Remover chave de authorized_keys |
Principais Benefícios em Detalhe
Segurança Reforçada
As chaves SSH utilizam encriptação RSA de 2048 bits a 4096 bits (ou criptografia de curva elíptica Ed25519), tornando-as computacionalmente inviáveis de quebrar. Não existe nenhum segredo partilhado transmitido pela rede, eliminando completamente os riscos de interceção.
Conveniência Operacional
Uma vez configuradas, as chaves SSH permitem logins sem palavra-passe. Para administradores que gerem múltiplos servidores — incluindo ambientes com Painéis de Controlo VPS — isto elimina a introdução repetitiva de credenciais e acelera drasticamente os fluxos de trabalho.
Pronto para Automação
Pipelines CI/CD, scripts de implementação, ferramentas de gestão de configuração (Ansible, Puppet, Chef) e tarefas de backup dependem de autenticação SSH não interativa. A autenticação por chave é a única solução prática para estes casos de uso.
Controlo de Acesso Granular
Cada utilizador ou serviço recebe um par de chaves único. Revogar o acesso a um utilizador específico requer apenas eliminar a sua chave pública do servidor — sem reposições de palavra-passe, sem bloqueios de conta.
Como Funciona a Autenticação por Chave SSH: Passo a Passo
Compreender o handshake de autenticação ajuda-o a resolver problemas e a perceber por que razão este método é tão seguro:
- Pedido de Ligação: O seu cliente SSH envia um pedido de ligação ao servidor, indicando qual a chave pública que pretende utilizar.
- Pesquisa de Chave: O servidor pesquisa em
~/.ssh/authorized_keysuma chave pública correspondente. - Emissão de Desafio: Se for encontrada uma correspondência, o servidor gera um desafio aleatório e encripta-o usando a sua chave pública.
- Resposta ao Desafio: O seu cliente SSH desencripta o desafio usando a sua chave privada e envia de volta uma assinatura criptográfica derivada dos dados desencriptados.
- Verificação e Acesso: O servidor verifica a assinatura usando a chave pública. Se for válida, o acesso é concedido — sem que uma única palavra-passe seja transmitida.
Todo este processo ocorre em milissegundos e é resistente a ataques man-in-the-middle quando a verificação da chave do host está corretamente configurada.
Como Gerar Chaves SSH
No Linux ou macOS
Abra o seu terminal e execute o seguinte comando:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"Descrição dos parâmetros:
-t rsa— Especifica o algoritmo RSA-b 4096— Gera uma chave de 4096 bits (mais forte do que o padrão de 2048 bits)-C "your_email@example.com"— Incorpora um comentário identificador na chave
Alternativa Moderna — Ed25519 (Recomendado):
ssh-keygen -t ed25519 -C "your_email@example.com"As chaves Ed25519 são mais curtas, mais rápidas e consideradas mais seguras do que RSA-4096 para a maioria dos casos de uso modernos.
Durante a geração da chave, ser-lhe-á pedido que:
- Escolha um local de gravação — Prima
Enterpara aceitar o padrão (~/.ssh/id_rsaou~/.ssh/id_ed25519) - Defina uma frase-passe — Fortemente recomendado. Isto encripta a sua chave privada no disco, proporcionando uma segunda camada de proteção caso a sua máquina seja comprometida
Após a geração, terá dois ficheiros:
~/.ssh/id_rsa— A sua chave privada (nunca partilhe isto)~/.ssh/id_rsa.pub— A sua chave pública (segura para distribuir)
No Windows
O Windows 10 e o Windows 11 incluem OpenSSH nativamente. Abra o PowerShell ou a Linha de Comandos e execute:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"O processo é idêntico ao Linux/macOS. As suas chaves serão guardadas em C:UsersYourUsername.ssh.
Alternativa: PuTTYgen
Se utilizar o PuTTY como cliente SSH:
- Abra o PuTTYgen
- Selecione RSA e defina o número de bits para 4096
- Clique em Generate e mova o rato para criar entropia
- Guarde a chave privada (formato
.ppk) e copie o texto da chave pública
Adicionar a Sua Chave Pública SSH ao Servidor na Nuvem
Depois de gerado o par de chaves, a chave pública deve ser instalada no servidor de destino.
Método 1: Usando ssh-copy-id (Linux/macOS — Recomendado)
ssh-copy-id user@your-server-ipEste comando acrescenta automaticamente a sua chave pública ao ~/.ssh/authorized_keys no servidor remoto. Ser-lhe-á pedida a sua palavra-passe uma vez — depois disso, o acesso baseado em palavra-passe deixa de ser necessário.
Para especificar um ficheiro de chave particular:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ipMétodo 2: Instalação Manual (Todas as Plataformas)
Utilize este método quando ssh-copy-id não está disponível ou quando necessita de controlo preciso.
Passo 1: Apresente a sua chave pública:
cat ~/.ssh/id_rsa.pubCopie toda a saída — terá um aspeto semelhante a:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ... your_email@example.comPasso 2: Ligue-se ao seu servidor usando autenticação por palavra-passe:
ssh user@your-server-ipPasso 3: Crie o diretório .ssh se não existir:
mkdir -p ~/.ssh
chmod 700 ~/.sshPasso 4: Adicione a sua chave pública ao ficheiro authorized_keys:
nano ~/.ssh/authorized_keysCole a chave pública, guarde e saia (Ctrl+X, depois Y, depois Enter).
Passo 5: Defina as permissões de ficheiro corretas:
chmod 600 ~/.ssh/authorized_keys> Crítico: Permissões incorretas farão com que o SSH rejeite silenciosamente a sua chave. O diretório .ssh deve ser 700 e authorized_keys deve ser 600.
Passo 6: Teste a ligação antes de fechar a sua sessão atual:
ssh -i ~/.ssh/id_rsa user@your-server-ipDesativar a Autenticação por Palavra-passe (Fortemente Recomendado)
Depois de confirmado o funcionamento da autenticação por chave SSH, desativar os logins por palavra-passe elimina o vetor de ataque mais comum contra servidores SSH. Este é um passo essencial de segurança para qualquer ambiente de produção.
Passo 1: Abra o ficheiro de configuração do daemon SSH:
sudo nano /etc/ssh/sshd_configPasso 2: Localize e modifique as seguintes diretivas:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PermitRootLogin prohibit-passwordPasso 3: Guarde o ficheiro e reinicie o serviço SSH:
sudo systemctl restart sshd> Aviso: Antes de reiniciar sshd, verifique que o seu login por chave SSH funciona numa sessão de terminal separada. Ficar bloqueado fora de um servidor remoto é um risco operacional grave.
Após esta alteração, apenas os clientes que apresentem uma chave SSH válida e autorizada poderão ligar-se.
Gestão Avançada de Chaves SSH
Gestão de Múltiplos Utilizadores
Para conceder acesso a múltiplos utilizadores num servidor, basta acrescentar a chave pública de cada utilizador numa nova linha no ficheiro authorized_keys:
nano ~/.ssh/authorized_keys
# Add one public key per lineRevogar Acesso
Para revogar o acesso de um utilizador específico, abra authorized_keys, localize a sua chave (identificável pelo comentário no final) e elimine essa linha:
nano ~/.ssh/authorized_keysNão é necessário reiniciar o serviço — a alteração entra em vigor imediatamente.
Usar um Ficheiro de Configuração SSH para Múltiplos Servidores
Se gerir múltiplos servidores, um ficheiro de configuração SSH (~/.ssh/config) simplifica as ligações:
Host alexhost-vps
HostName your-server-ip
User root
IdentityFile ~/.ssh/id_rsa_alexhost
Port 22
Host alexhost-dedicated
HostName your-dedicated-ip
User admin
IdentityFile ~/.ssh/id_rsa_dedicatedCom esta configuração, ligar é tão simples como:
ssh alexhost-vpsUsar ssh-agent para Gestão de Frases-passe
Se a sua chave privada estiver protegida por uma frase-passe, ssh-agent guarda-a em memória para que a introduza apenas uma vez por sessão:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaMelhores Práticas de Segurança para Chaves SSH
| Melhor Prática | Por Que É Importante |
|---|---|
| Usar Ed25519 ou RSA-4096 | Máxima força criptográfica |
| Definir sempre uma frase-passe | Protege a chave privada se a sua máquina for comprometida |
| Nunca partilhar a sua chave privada | Partilhá-la derrota completamente o modelo de segurança |
| Rodar chaves periodicamente | Limita a janela de exposição se uma chave for silenciosamente comprometida |
| Usar chaves únicas por servidor | Comprometer uma chave não expõe todos os servidores |
| Desativar o login root por palavra-passe | Elimina o alvo de ataque com maior privilégio |
Monitorizar authorized_keys | Detetar adições não autorizadas de chaves |
Chaves SSH e Serviços AlexHost
A autenticação por chave SSH é suportada em todos os produtos de servidor AlexHost. Quer esteja a implementar uma aplicação leve em Alojamento Web Partilhado, a escalar com um VPS com cPanel totalmente gerido, ou a executar cargas de trabalho computacionalmente intensivas em GPU Hosting, o acesso baseado em chave SSH fornece a base de segurança que a sua infraestrutura requer.
Para uma segurança completa do servidor, considere combinar o reforço SSH com um Certificado SSL para encriptar todo o tráfego web — garantindo proteção de ponta a ponta tanto para a administração do seu servidor como para os seus utilizadores.
Perguntas Frequentes
Posso usar múltiplas chaves SSH no mesmo servidor?
Sim. Cada chave pública ocupa uma linha em authorized_keys. Não existe limite prático para o número de chaves autorizadas.
O que acontece se perder a minha chave privada?
Perde o acesso através desse par de chaves. Se a autenticação por palavra-passe estiver desativada e não tiver outro método de acesso, poderá precisar de usar o acesso à consola out-of-band do seu fornecedor de alojamento (como o painel de controlo VPS da AlexHost) para recuperar o acesso e adicionar uma nova chave.
O Ed25519 é melhor do que o RSA?
Para a maioria dos casos de uso modernos, sim. O Ed25519 oferece segurança equivalente ou superior com chaves mais curtas e operações mais rápidas. O RSA-4096 continua a ser aceitável, mas é considerado legado por muitos profissionais de segurança.
Devo usar a mesma chave SSH para todos os servidores?
Não. Usar pares de chaves únicos por servidor limita o raio de impacto — se uma chave privada for comprometida, apenas esse servidor fica em risco.
Conclusão
A autenticação por chave SSH não é meramente uma melhor prática — é o requisito de segurança base para qualquer implementação séria de servidor na nuvem. Ao substituir logins vulneráveis por palavra-passe com pares de chaves criptográficas, elimina categorias inteiras de ataques, incluindo força bruta, preenchimento de credenciais e interceção de palavras-passe.
O processo de configuração requer um investimento único modesto: gerar um par de chaves, implementar a chave pública no seu servidor, desativar a autenticação por palavra-passe e implementar as práticas de gestão descritas neste guia. O retorno desse investimento é uma infraestrutura de servidor dramaticamente mais segura, mais gerível e mais adequada para automação.
Comece a proteger os seus servidores hoje com a gama de soluções de alojamento da AlexHost — desde VPS Hosting de entrada até Servidores Dedicados de alto desempenho — todos construídos para suportar padrões de segurança modernos desde o primeiro dia.
on All Hosting Services
