Como autenticar en ssh con certificado
- En un servidor crear un par de claves para firmar claves de usuario.
cd /etc/ssh && ssh-keygen -f user_ca - Agregar en el archivo
/etc/ssh/sshd_config:TrustedUserCaKeys /etc/ssh/user_ca.pub - Reiniciar el servicio
systemctl restart sshd
Para lograr que los certificados que vamos a generar se puedan usar en otros servidores, habría que copiar en ellos la clave pública (user_ca.pub), agregar la misma línea y reiniciar el servicio ssh. - Copiar la clave pública del cliente ssh al servidor.
scp ~/.ssh/id_rsa_sergio.pub root@certserver:/etc/ssh/ - Generar un certificado a partir de la clave pública.
ssh-keygen -s user_ca -I user_sergio -n sergio,root -V +52w id_rsa_sergio.pub - Copiar el certificado al host del usuario.
scp root@certserver:/etc/ssh/id_rsa_sergio-cert.pub ~/.ssh/ - Autenticarse con el certificado del usuario.
ssh -i ~/id_rsa_sergio-cert.pub root@certserver
Enlaces útiles
- Tutorial: Autenticación en SSH con clave pública | Mixturas Resilientes
- OpenSSH certificates (Mención de honor para este host que es en el cual me basé para la presente guía)
- 8.3. Using OpenSSH Certificate Authentication
Comentarios
Comments powered by Disqus