FNSP Web Page

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@servidor

Acrescenta 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_keys

3. 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 ssh

A 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 60

A 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

Comentários

Ainda ninguém comentou este artigo.

Voltar ao blog

Gostávamos de saber quantas pessoas visitam o site, com o Google Analytics. Sem a sua autorização não corre nada. Política de Privacidade.