Autenticarse en SSH usando chaves
Vou explicar cómo facer para conectarse “automáticamente” a un servidor SSH utilizando uns ficheiros RSA, esto permite evitalo uso de contrasináis e garante unha maior seguridade nas comunicacións, xa que é moito máis difícil loguearse por forza bruta nunha sesisón que só admita RSA.
Tamén explico cómo cofigurar un servidor para admitir este sistema de login.
Configuración no lado cliente
Para utilizar este método de autentificación, precisamos realizar o seguinte:
Xerar unhas chaves SSH (RSA)
Para xeralas chaves RSA usamos “ssh-keygen”:
ssh-keygen -t rsa -b 4096
Seguímolas instruccións que nos indica o script, ata que as xera.
Se indicamos un contrasinal para chave, nola pedirá sempre que a queiramos usar, se non a indicamos a podremos usar dunha maneira máis “automática” mais se o arquivo cae en malas mans o terán máis doado para suplantarnos.
Copiala nosa chave pública RSA do SSH nun servidor SSH
Esto se fai por cada servidor SSH que admita este tipo de acceso no que teñamos permiso para acceder.
Para copiala chave pública ao servidor:
$ ssh-copy-id <usuario_remoto>@<host_remoto> -p <puerto_SSH>
Configuración no lado servidor
Habilitala identificación con chaves no noso servidor SSH
Por defecto pode ver activado ou funcionar, mais é mellor habilitala opción “RSAAuthentication” con un “yes” no seu arquivo de configuración para que trate de identificalos usuarios con chaves RSA frente ao uso do contrasinal.
Editamos /etc/ssh/sshd_config e descomentamos “RSAAuthentication yes”:
...
RSAAuthentication yes
...
Reiniciámolo servizo sshd:
sudo systemctl restart sshd
E con isto xa se podría usala autentifiación por chaves RSA no servidor.