SSH com chaves, e nunca mais uma password
Um servidor com autenticação por password na porta 22 recebe milhares de tentativas por dia, todos os dias, de robôs que não sabem que ele existe — encontram-no a varrer a internet. As chaves resolvem isso e ainda são mais cómodas.
1. Criar o par
ssh-keygen -t ed25519 -C "portatil-do-francisco"Ficam dois ficheiros: id_ed25519 (a privada, que nunca sai da sua máquina) e id_ed25519.pub (a pública, que se distribui à vontade).
O ed25519 em vez do RSA: chaves mais curtas, mais rápidas e pelo menos tão seguras. E ponha uma frase-passe — é o que protege a chave se o portátil desaparecer.
2. Instalar no servidor
ssh-copy-id utilizador@servidorAcrescenta a chave pública ao ~/.ssh/authorized_keys do servidor. À mão, o que interessa são as permissões — o SSH recusa-se a usar ficheiros que outros possam ler:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys3. Fechar a porta às passwords
Só depois de confirmar que a chave funciona, e sem fechar a sessão que já tem aberta:
# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
sudo systemctl reload sshA sessão aberta é a rede de segurança: se algo correr mal, ainda está lá dentro para desfazer. Fechar tudo antes de testar é como se sai de casa com a chave lá dentro.
4. O ficheiro que poupa mais tempo
# ~/.ssh/config
Host servidor
HostName 192.168.1.232
User fnsp
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60A partir daqui é ssh servidor. O ServerAliveInterval evita aquelas sessões que morrem sozinhas ao fim de uns minutos parados.
E se a chave tiver frase-passe, o agente evita escrevê-la a cada ligação:
ssh-add ~/.ssh/id_ed25519