¿Cómo se prueba un par de claves DSA público/privado?
¿Hay una manera fácil de verificar que una clave privada dada coincide con una clave pública dada? Tengo algunos *.pub, and a few *.archivos clave, y necesito comprobar cuál va con cuál.
De nuevo, estos son archivos pub/key, DSA.
Realmente preferiría una sola línea de algún tipo...
10 answers
Encontré una manera que parece funcionar mejor para mí:
ssh-keygen -y -f <private key file>
Ese comando generará la clave pública para la clave privada dada, así que simplemente compare la salida con cada *.archivo pub.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-08 12:22:00
Siempre comparo un hash MD5 del módulo usando estos comandos:
Certificate: openssl x509 -noout -modulus -in server.crt | openssl md5
Private Key: openssl rsa -noout -modulus -in server.key | openssl md5
CSR: openssl req -noout -modulus -in server.csr | openssl md5
Si los hashes coinciden, entonces esos dos archivos van juntos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-11 13:48:05
Para las claves DSA, use
openssl dsa -pubin -in dsa.pub -modulus -noout
Para imprimir las claves públicas, entonces
openssl dsa -in dsa.key -modulus -noout
Para mostrar las claves públicas correspondientes a una clave privada, luego compárelas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-08 11:06:04
Asumiendo que tiene las claves públicas dentro de los certificados x. 509, y asumiendo que son claves RSA, entonces para cada clave pública, haga
openssl x509 -in certfile -modulus -noout
Para cada clave privada, haga
openssl rsa -in keyfile -modulus -noout
Luego haga coincidir las teclas por módulo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-08 10:50:48
La comprobación se puede hacer más fácil con diff:
diff <(ssh-keygen -y -f <private_key_file>) <public key file>
Lo único extraño es que diff no dice nada si los archivos son los mismos, por lo que solo se le dirá si el público y el privado no coinciden.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-23 18:50:38
Elimine las claves públicas y genere nuevas a partir de las claves privadas. Manténgalos en directorios separados, o use una convención de nomenclatura para mantenerlos rectos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-08 12:35:59
Si estás en Windows y quieres usar una GUI, con puttygen puedes importar tu clave privada en ella:
Una vez importada, puede guardar su clave pública y compararla con la suya.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-27 10:49:06
Introduzca el siguiente comando para comprobar si una clave privada y una clave pública son un conjunto coincidente (idéntico) o no un conjunto coincidente (diferente) en $USER/.directorio ssh.
diff -qs <(ssh-keygen -yf ~/.ssh/id_rsa) <(cut -d ' ' -f 1,2 ~/.ssh/id_rsa.pub)
La salida se verá como cualquiera de estas líneas.
Files /dev/fd/63 and /dev/fd/62 are identical
Files /dev/fd/63 and /dev/fd/62 differ
Escribí un script de shell que los usuarios utilizan para comprobar el permiso de archivo de su ~/.ssh / files y conjunto de claves coincidentes. Resuelve mis desafíos con incidentes de usuario configurando ssh. Puede ayudarte.
https://github.com/BradleyA/docker-scripts/tree/master/ssh
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-10 18:26:51
Cifrar algo con la clave pública, y ver qué clave privada lo descifra.
Este artículo del proyecto de código de nada menos que Jeff Atwood implementa un envoltorio simplificado alrededor de las clases criptográficas.NET. Suponiendo que estas claves se crearon para su uso con RSA, utilice la clase asimétrica con su clave pública para cifrar, y lo mismo con su clave privada para descifrar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-08 09:44:45
Simplemente use puttygen y cargue su clave privada en él. Ofrece diferentes opciones, por ejemplo, exportar la clave pública de coressponding.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-13 09:41:06