GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo verificar que el certificado Ssh fue firmado por la clave privada Ssh Ca especificada?

Estoy tratando de fortalecer mi configuración ssh usando este material. Funciona bien, pero tengo una pregunta a la que me cuesta encontrar la respuesta.

¿Alguien sabe si hay alguna forma de verificar la firma del certificado de usuario/host ssh con la CA SSH? Sé que puedo simplemente intentar conectarme al host, que contiene ese certificado de host, y si se conecta, entonces la firma obviamente está bien...
Pero estoy escribiendo una tarea de automatización y necesito una forma programática para asegurarme de que el archivo de certificado está firmado por CA. Di algo de ssh-keygen comando o cualquier otra cosa.

ACTUALIZACIÓN:

Como propuso @PKapp:

Podría comparar dos resultados:la huella digital de la CA de firma del certificado del lado del servidor y la huella digital de la CA misma

sudo ssh-keygen -L -f /etc/ssh/ssh_host_ed25519_key-cert.pub | fgrep "Signing CA" | sed 's/^[ t]*//' | cut -d ' ' -f 4
SHA256:LkdPQLdx4tuZp7pG0g6nAJqilFd6ZzjGdgVEV9elrdA

sudo ssh-keygen -l -f /etc/ssh/id_ed25519-HostCA.pub | cut -d ' ' -f 2
SHA256:LkdPQLdx4tuZp7pG0g6nAJqilFd6ZzjGdgVEV9elrdA

Si las salidas filtradas son idénticas, entonces los certificados coinciden...

Respuesta aceptada:

Para obtener de forma remota certificados de host ssh, puede usar ssh-keyscan -c <hostname> (sin -c opción, solo obtendrá la(s) clave(s) de host). Para limitar a un tipo de certificado específico, puede incluir -t type , usando ssh-rsa no [email protected] , si es necesario.

Luego, puede extraer los detalles del certificado, incluida la clave pública de la CA firmante, con ssh-keygen -L -f <certfile> . Si usa (minúsculas) -l en su lugar, entonces ssh-keygen solo genera la información sobre la clave de host subyacente (pública) incrustada en el certificado, en lugar de todos los elementos del certificado.


Linux
  1. Cómo configurar el inicio de sesión SSH sin contraseña

  2. Cómo generar un par de claves SSH (con ejemplos)

  3. Cómo configurar la autenticación basada en clave SSH en Linux

  4. Cómo importar clave privada en FileZilla para SFTP

  5. Cómo configurar claves SSH

Cómo SSH establece una comunicación segura

Cómo crear una frase de contraseña de clave SSH en Linux

Cómo configurar la clave pública y privada SSH en Linux

Cómo agregar una clave pública SSH al servidor

Cómo mejorar la seguridad SSH en Ubuntu 18.04

Cómo convertir la clave privada de PuTTY (.ppk) en clave SSH