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