¿Hay alguna manera fácil de verificar que una clave privada determinada coincida con una clave pública determinada? Tengo unos pocos archivos * .pub y unos pocos * .key, y necesito verificar con qué.
Nuevamente, estos son archivos pub / key, DSA.
Realmente preferiría una línea de algún tipo ...
encryption
ssl
openssl
key
Loki
fuente
fuente
id_rsa.pub.blahhost
archivos y no sabía cuál coincidía con laid_rsa
clave privada solitaria y estoy configurando scp sin contraseña para poder migrar de sitios web antiguos. Hacer un nuevo par de claves no es una opción; Tengo mis llaves bien configuradas y no voy a estropear eso.Siempre comparo un hash MD5 del módulo usando estos comandos:
Si los hashes coinciden, esos dos archivos van juntos.
fuente
Para claves DSA, use
para imprimir las claves públicas, luego
para mostrar las claves públicas correspondientes a una clave privada, luego compárelas.
fuente
Suponiendo que tiene las claves públicas dentro de los certificados x.509, y suponiendo que son claves RSA, entonces, para cada clave pública, haga
Para cada clave privada, haga
Luego haga coincidir las teclas por módulo.
fuente
El control se puede hacer más fácil con diff:
Lo único extraño es que diff no dice nada si los archivos son iguales, por lo que solo se le informará si lo público y lo privado no coinciden.
fuente
diff -s
diff -qs
devuelve una simple "respuesta idéntica / no idéntica. (2) debe eliminar el comentario en el archivo de clave pública antes de ejecutar el diff.Elimine las claves públicas y genere nuevas a partir de las claves privadas. Guárdelos en directorios separados o use una convención de nomenclatura para mantenerlos en orden.
fuente
Ingrese el siguiente comando para verificar si una clave privada y una clave pública son un conjunto coincidente (idéntico) o no un conjunto coincidente (diferente) en el directorio $ USER / .ssh. El comando de corte evita que se comparen los comentarios al final de la línea en la clave pública, lo que permite comparar solo la clave.
La salida se verá como cualquiera de estas líneas.
Escribí un script de shell que los usuarios usan para verificar el permiso de los archivos ~ / .ssh / y el conjunto de claves coincidentes. Resuelve mis desafíos con incidentes de usuario que configuran ssh. Te puede ayudar. https://github.com/BradleyA/docker-security-infrastructure/tree/master/ssh
Nota: Mi respuesta anterior (en marzo de 2018) ya no funciona con las últimas versiones de openssh. Respuesta anterior: diff -qs <(ssh-keygen -yf ~ / .ssh / id_rsa) <(cut -d '' -f 1,2 ~ / .ssh / id_rsa.pub)
fuente
Si está en Windows y quiere usar una GUI, con puttygen puede importar su clave privada:
Una vez importado, puede guardar su clave pública y compararla con la suya.
fuente
Cifre algo con la clave pública y vea qué clave privada lo descifra.
Este artículo del proyecto de código de nada menos que Jeff Atwood implementa un contenedor simplificado alrededor de las clases de cifrado .NET. Suponiendo que estas claves se crearon para usar con RSA, use la clase asimétrica con su clave pública para cifrar, y lo mismo con su clave privada para descifrar.
fuente
Si no devuelve nada, entonces coinciden:
fuente
Simplemente use puttygen y cargue su clave privada en él. Ofrece diferentes opciones, por ejemplo, exportar la clave pública de coressponding.
fuente