ssh-keygen: en línea en la nube

Este es el comando ssh-keygen que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ssh-keygen - generación, gestión y conversión de claves de autenticación

SINOPSIS


ssh-keygen [-q] [-b los bits] [-t dsa | ecsa | ed25519 | rsa | rsa1] [-N nueva_contraseña]
[-C comentario] [-f archivo_clave_de_salida]
ssh-keygen -p [-P antigua_contraseña] [-N nueva_contraseña] [-f archivo de clave]
ssh-keygen -i [-m formato_clave] [-f archivo_clave_de_entrada]
ssh-keygen -e [-m formato_clave] [-f archivo_clave_de_entrada]
ssh-keygen -y [-f archivo_clave_de_entrada]
ssh-keygen -c [-P frase de contraseña] [-C comentario] [-f archivo de clave]
ssh-keygen -l [-v] [-E huella dactilar_hash] [-f archivo_clave_de_entrada]
ssh-keygen -B [-f archivo_clave_de_entrada]
ssh-keygen -D pkcs11
ssh-keygen -F hostname [-f archivo_hosts_conocidos] [-l]
ssh-keygen -H [-f archivo_hosts_conocidos]
ssh-keygen -R hostname [-f archivo_hosts_conocidos]
ssh-keygen -r hostname [-f archivo_clave_de_entrada] [-g]
ssh-keygen -G archivo de salida [-v] [-b los bits] [-M memoria] [-S punto de partida]
ssh-keygen -T archivo de salida -f fichero de entrada [-v] [-a rondas] [-J núm_líneas] [-j línea de salida]
[-K chequear] [-W generador]
ssh-keygen -s ca_key -I identidad_certificado [-h] [-n directores] [-O opción]
[-V intervalo_validez] [-z número de serie] presentar ...
ssh-keygen -L [-f archivo_clave_de_entrada]
ssh-keygen -A
ssh-keygen -k -f archivo_krl [-u] [-s ca_publico] [-z número de versión] presentar ...
ssh-keygen -Q -f archivo_krl presentar ...

DESCRIPCIÓN


ssh-keygen genera, gestiona y convierte claves de autenticación para ssh(1). ssh-keygen can
crear claves para usar con las versiones 1 y 2 del protocolo SSH. El protocolo 1 no debe usarse y es
solo se ofrece para admitir dispositivos heredados. Sufre de una serie de criptográficas
debilidades y no es compatible con muchas de las funciones avanzadas disponibles para el protocolo 2.

El tipo de clave a generar se especifica con el -t opción. Si se invoca sin ninguna
argumentos, ssh-keygen generará una clave RSA para su uso en conexiones de protocolo SSH 2.

ssh-keygen también se utiliza para generar grupos para su uso en el intercambio de grupo Diffie-Hellman (DH-
GEX). Ver el MÓDULO GENERACION para más detalles.

Finalmente, ssh-keygen se puede utilizar para generar y actualizar listas de revocación de claves y para probar
si las claves dadas han sido revocadas por uno. Ver el VENTAJAS REVOCACIÓN LISTAS sección para
Detalles.

Normalmente, cada usuario que desee utilizar SSH con autenticación de clave pública ejecuta esto una vez para
crear la clave de autenticación en ~ / .ssh / identidad, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa,
~ / .ssh / id_ed25519 or ~ / .ssh / id_rsa. Además, el administrador del sistema puede usar esto para
generar claves de host.

Normalmente, este programa genera la clave y solicita un archivo en el que almacenar los datos privados.
llave. La clave pública se almacena en un archivo con el mismo nombre pero con ".pub" adjunto. los
El programa también solicita una contraseña. La frase de contraseña puede estar vacía para indicar que no hay frase de contraseña
(las claves de host deben tener una frase de contraseña vacía), o puede ser una cadena de longitud arbitraria. A
contraseña es similar a una contraseña, excepto que puede ser una frase con una serie de palabras,
puntuación, números, espacios en blanco o cualquier cadena de caracteres que desee. Buenas frases de contraseña
tienen entre 10 y 30 caracteres de longitud, no son oraciones simples ni son fáciles de adivinar (inglés
prosa tiene solo 1-2 bits de entropía por carácter y proporciona frases de contraseña muy malas), y
contienen una combinación de letras mayúsculas y minúsculas, números y caracteres no alfanuméricos. los
La frase de contraseña se puede cambiar más tarde utilizando el -p .

No hay forma de recuperar una frase de contraseña perdida. Si la contraseña se pierde u olvida, una nueva
Se debe generar la clave y copiar la clave pública correspondiente en otras máquinas.

Para las claves RSA1, también hay un campo de comentario en el archivo de claves que es solo para conveniencia de
el usuario para ayudar a identificar la clave. El comentario puede decir para qué es la clave, o lo que sea
útil. El comentario se inicializa a "usuario @ host" cuando se crea la clave, pero se puede
cambiado usando el -c .

Después de que se genera una clave, las instrucciones a continuación detallan dónde deben colocarse las claves para ser
activado.

Las opciones son las siguientes:

-A Para cada uno de los tipos de clave (rsa1, rsa, dsa, ecdsa y ed25519) para los que funcionan las claves de host
no existe, genere las claves de host con la ruta de archivo de clave predeterminada, un
frase de contraseña, bits predeterminados para el tipo de clave y comentario predeterminado. Esto es usado por
scripts de administración del sistema para generar nuevas claves de host.

-a rondas
Al guardar una clave privada de nuevo formato (es decir, una clave ed25519 o cualquier clave de protocolo SSH 2
cuando -o se establece la bandera), esta opción especifica el número de KDF (derivación de clave
función) rondas utilizadas. Los números más altos dan como resultado una verificación de la frase de contraseña más lenta y
mayor resistencia al descifrado de contraseñas por fuerza bruta (en caso de robo de las claves).

Al seleccionar candidatos de DH-GEX (utilizando el -T mando). Esta opción especifica el
número de pruebas de primalidad a realizar.

-B Muestra el resumen de bubblebabble del archivo de clave pública o privada especificado.

-b los bits
Especifica el número de bits en la clave para crear. Para claves RSA, el tamaño mínimo
es de 1024 bits y el valor predeterminado es de 2048 bits. Generalmente, se consideran 2048 bits
suficiente. Las claves DSA deben tener exactamente 1024 bits según lo especificado por FIPS 186-2. Para
Claves ECDSA, el -b La bandera determina la longitud de la clave seleccionando una de las tres
Tamaños de curva elíptica: 256, 384 o 521 bits. Intentando usar longitudes de bits otras
que estos tres valores para las claves ECDSA fallarán. Las llaves Ed25519 tienen una longitud fija
y la -b se ignorará la bandera.

-C comentario
Proporciona un nuevo comentario.

-c Solicita cambiar el comentario en los archivos de clave pública y privada. Esta operacion
solo es compatible con claves RSA1. El programa solicitará el archivo que contiene
las claves privadas, para la frase de contraseña si la clave tiene una, y para el nuevo comentario.

-D pkcs11
Descargue las claves públicas RSA proporcionadas por la biblioteca compartida PKCS # 11 pkcs11. Cuando el
usado en combinación con -s, esta opción indica que una clave CA reside en un
Token PKCS # 11 (consulte el CERTIFICADOS sección para más detalles).

-E huella dactilar_hash
Especifica el algoritmo hash que se utiliza al mostrar huellas digitales clave. Opciones válidas
son: "md5" y "sha256". El valor predeterminado es "sha256".

-e Esta opción leerá un archivo de clave OpenSSH público o privado e imprimirá a la salida estándar
clave en uno de los formatos especificados por el -m opción. El formato de exportación predeterminado es
“RFC4716”. Esta opción permite exportar claves OpenSSH para su uso por otros programas,
incluidas varias implementaciones comerciales de SSH.

-F hostname
Busque el especificado hostname en un parche de hosts_conocidos archivo, enumerando cualquier ocurrencia
fundar. Esta opción es útil para encontrar direcciones o nombres de host con hash y también puede ser
utilizado junto con el -H opción para imprimir las claves encontradas en formato hash.

-f nombre de archivo
Especifica el nombre de archivo del archivo de claves.

-G archivo de salida
Genere primos candidatos para DH-GEX. Estos primos deben ser examinados por seguridad.
(utilizando la -T opción) antes de su uso.

-g Utilice un formato DNS genérico al imprimir registros de recursos de huellas dactilares utilizando el -r
mando.

-H hash un hosts_conocidos expediente. Esto reemplaza todos los nombres de host y direcciones con hash
representaciones dentro del archivo especificado; el contenido original se mueve a un archivo
con un sufijo .old. Estos hashes pueden ser utilizados normalmente por ssh y sshd, pero lo hacen
no revelar información de identificación si se divulga el contenido del archivo. Esta
La opción no modificará los nombres de host con hash existentes y, por lo tanto, es segura de usar en
archivos que mezclan nombres con hash y sin hash.

-h Al firmar una clave, cree un certificado de host en lugar de un certificado de usuario. Por favor
ver la CERTIFICADOS para más detalles.

-I identidad_certificado
Especifique la identidad de la clave al firmar una clave pública. Por favor vea el CERTIFICADOS
para más detalles.

-i Esta opción leerá un archivo de clave privada (o pública) sin cifrar en el formato
especificado por el -m opción e imprimir una clave privada (o pública) compatible con OpenSSH
a stdout. Esta opción permite importar claves de otro software, incluidos varios
implementaciones comerciales de SSH. El formato de importación predeterminado es "RFC4716".

-J núm_líneas
Salga después de filtrar el número especificado de líneas mientras realiza DH candidato
proyección usando el -T .

-j línea de salida
Empiece a realizar el cribado en el número de línea especificado mientras realiza el cribado de candidatos a DH
usando el -T .

-K chequear
Escribe la última línea procesada en el archivo. chequear mientras realiza DH candidato
proyección usando el -T opción. Esto se utilizará para omitir líneas en el archivo de entrada.
que ya se han procesado si se reinicia el trabajo.

-k Genere un archivo KRL. En este modo, ssh-keygen generará un archivo KRL en el
ubicación especificada a través del -f bandera que revoca todas las claves o certificados presentados
en la línea de comando. Las claves / certificados que se revocarán se pueden especificar mediante una clave pública
archivo o utilizando el formato descrito en el VENTAJAS REVOCACIÓN LISTAS .

-L Imprime el contenido de uno o más certificados.

-l Muestra la huella digital del archivo de clave pública especificado. Las claves privadas RSA1 también son
soportado. Para claves RSA y DSA ssh-keygen intenta encontrar la clave pública correspondiente
archivo e imprime su huella digital. Si se combina con -v, una representación de arte ASCII
de la llave se suministra con la huella dactilar.

-M memoria
Especifique la cantidad de memoria que se utilizará (en megabytes) al generar módulos candidatos
para DH-GEX.

-m formato_clave
Especifique un formato de clave para -i (importar) o -e (exportación) opciones de conversión. los
Los formatos de clave admitidos son: "RFC4716" (clave pública o privada RFC 4716 / SSH2), "PKCS8"
(Clave pública PEM PKCS8) o “PEM” (clave pública PEM). El formato de conversión predeterminado es
“RFC4716”.

-N nueva_contraseña
Proporciona la nueva frase de contraseña.

-n directores
Especifique uno o más principales (nombres de usuario o de host) que se incluirán en un certificado
al firmar una clave. Se pueden especificar varios principales, separados por comas.
Consulte la CERTIFICADOS para más detalles.

-O opción
Especifique una opción de certificado al firmar una clave. Esta opción puede especificarse
varias veces. Por favor vea el CERTIFICADOS sección para más detalles. Las opciones que
son válidos para los certificados de usuario son:

limpiar Borre todos los permisos habilitados. Esto es útil para borrar el conjunto predeterminado
de permisos para que los permisos se puedan agregar individualmente.

comando de fuerza=comando
Fuerza la ejecución de comando en lugar de cualquier shell o comando especificado por
el usuario cuando el certificado se utiliza para la autenticación.

reenvío sin agente
Deshabilitar ssh-agent(1) reenvío (permitido por defecto).

sin reenvío de puertos
Desactive el reenvío de puertos (permitido de forma predeterminada).

no-pty Desactive la asignación de PTY (permitido por defecto).

no-usuario-rc
Deshabilitar la ejecución de ~ / .ssh / rc by sshd(8) (permitido por defecto).

no-x11-reenvío
Desactive el reenvío X11 (permitido de forma predeterminada).

permiso-agente-reenvío
Permite a los ssh-agent(1) reenvío.

permiso-reenvío de puertos
Permite el reenvío de puertos.

permiso-pty
Permite la asignación de PTY.

permiso-usuario-rc
Permite la ejecución de ~ / .ssh / rc by sshd(8).

permiso-x11-reenvío
Permite el reenvío X11.

Dirección de la fuente=lista_de_direcciones
Restringir las direcciones de origen desde las que se considera el certificado
válido. los lista_de_direcciones es una lista separada por comas de uno o más
pares de dirección / máscara de red en formato CIDR.

En la actualidad, ninguna opción es válida para las claves de host.

-o Causas ssh-keygen para guardar claves privadas usando el nuevo formato OpenSSH en lugar del
formato PEM más compatible. El nuevo formato tiene una mayor resistencia a la fuerza bruta.
descifrado de contraseñas, pero no es compatible con versiones de OpenSSH anteriores a la 6.5. Ed25519
las claves siempre utilizan el nuevo formato de clave privada.

-P frase de contraseña
Proporciona la frase de contraseña (antigua).

-p Solicita cambiar la frase de contraseña de un archivo de clave privada en lugar de crear una nueva
llave privada. El programa solicitará el archivo que contiene la clave privada, para
la antigua contraseña y dos veces para la nueva contraseña.

-Q Pruebe si las claves se han revocado en una KRL.

-q Silencio ssh-keygen.

-R hostname
Elimina todas las claves que pertenecen a hostname de un hosts_conocidos expediente. Esta opcion es
útil para eliminar hosts con hash (consulte la -H opción anterior).

-r hostname
Imprima el registro de recursos de huellas digitales SSHFP denominado hostname para el público especificado
archivo de clave.

-S comienzo
Especifique el punto de inicio (en hexadecimal) al generar módulos candidatos para DH-GEX.

-s ca_key
Certifique (firme) una clave pública utilizando la clave CA especificada. Por favor vea el CERTIFICADOS
para más detalles.

Al generar una KRL, -s especifica una ruta a un archivo de clave pública de CA utilizado para revocar
certificados directamente por ID de clave o número de serie. Ver el VENTAJAS REVOCACIÓN LISTAS
para más detalles.

-T archivo de salida
Pruebe los primos candidatos de intercambio de grupo DH (generados -G opción) por seguridad.

-t dsa | ecsa | ed25519 | rsa | rsa1
Especifica el tipo de clave a crear. Los valores posibles son "rsa1" para el protocolo
versión 1 y “dsa”, “ecdsa”, “ed25519” o “rsa” para la versión 2 del protocolo.

-u Actualice un KRL. Cuando se especifica con -k, las claves enumeradas a través de la línea de comando se agregan a
la KRL existente en lugar de la creación de una nueva KRL.

-V intervalo_validez
Especifique un intervalo de validez al firmar un certificado. Un intervalo de validez puede
constan de una sola vez, lo que indica que el certificado es válido a partir de ahora y
expira en ese momento, o puede consistir en dos tiempos separados por dos puntos para indicar
un intervalo de tiempo explícito. La hora de inicio se puede especificar como una fecha en AAAAMMDD
formato, una hora en formato AAAAMMDDHHMMSS o una hora relativa (a la hora actual)
que consiste en un signo menos seguido de un tiempo relativo en el formato descrito en
la sección FORMATOS DE HORA de sshd_config(5). La hora de finalización se puede especificar como
AAAAMMDD fecha, una hora AAAAMMDDHHMMSS o una hora relativa que comienza con un signo más
carácter.

Por ejemplo: "+ 52w1d" (válido desde ahora hasta 52 semanas y dentro de un día), "-4w: + 4w"
(válido desde hace cuatro semanas hasta cuatro semanas a partir de ahora), "20100101123000: 20110101123000"
(válido desde las 12:30 PM del 1 de enero de 2010 hasta las 12:30 PM del 1 de enero de 2011),
“-1d: 20110101” (válido desde ayer hasta la medianoche del 1 de enero de 2011).

-v Modo detallado. Causas ssh-keygen para imprimir mensajes de depuración sobre su progreso.
Esto es útil para depurar la generación de módulos. Múltiple -v las opciones aumentan el
verbosidad. El máximo es 3.

-W generador
Especifique el generador deseado al probar módulos candidatos para DH-GEX.

-y Esta opción leerá un archivo de formato OpenSSH privado e imprimirá una clave pública OpenSSH
a stdout.

-z número de serie
Especifica un número de serie que se incrustará en el certificado para distinguir este
certificado de otros de la misma CA. El número de serie predeterminado es cero.

Al generar un KRL, el -z La bandera se utiliza para especificar un número de versión de KRL.

MÓDULO GENERACION


ssh-keygen se puede utilizar para generar grupos para el intercambio de grupo Diffie-Hellman (DH-GEX)
protocolo. Generar estos grupos es un proceso de dos pasos: primero, los primos candidatos son
generado mediante un proceso rápido, pero que consume mucha memoria. Estos primos candidatos son entonces
probado para su idoneidad (un proceso intensivo de CPU).

La generación de primos se realiza utilizando el -G opción. La longitud deseada de los números primos puede
ser especificado por el -b opción. Por ejemplo:

# ssh-keygen -G módulos-2048.candidates -b 2048

De forma predeterminada, la búsqueda de números primos comienza en un punto aleatorio en el rango de longitud deseado.
Esto se puede anular usando el -S opción, que especifica un punto de inicio diferente (en
maleficio).

Una vez que se ha generado un conjunto de candidatos, se debe evaluar su idoneidad. Esta
se puede realizar utilizando el -T opción. En este modo ssh-keygen leerá candidatos de
entrada estándar (o un archivo especificado usando el -f opción). Por ejemplo:

# ssh-keygen -T módulos-2048 -f módulos-2048.candidatos

De forma predeterminada, cada candidato se someterá a 100 pruebas de primalidad. Esto puede ser anulado
usando el -a opción. El valor del generador de DH se elegirá automáticamente para el primer
bajo consideración. Si se desea un generador específico, se puede solicitar mediante el -W
opción. Los valores válidos del generador son 2, 3 y 5.

Los grupos DH apantallados se pueden instalar en / etc / ssh / moduli. Es importante que este archivo
contiene módulos de un rango de longitudes de bits y que ambos extremos de una conexión comparten en común
módulos.

CERTIFICADOS


ssh-keygen admite la firma de claves para producir certificados que se pueden utilizar para el usuario o
autenticación de host. Los certificados constan de una clave pública, cierta información de identidad, cero
o más nombres de principal (usuario o host) y un conjunto de opciones que están firmadas por un
Clave de la autoridad de certificación (CA). Los clientes o servidores pueden confiar solo en la clave de CA y
Verifique su firma en un certificado en lugar de confiar en muchas claves de usuario / host. Tenga en cuenta que
Los certificados OpenSSH tienen un formato diferente y mucho más simple que los certificados X.509
utilizado en ssl(8).

ssh-keygen admite dos tipos de certificados: usuario y host. Certificados de usuario
autentican a los usuarios en los servidores, mientras que los certificados de host autentican los hosts del servidor a los usuarios.
Para generar un certificado de usuario:

$ ssh-keygen -s / ruta / a / ca_key -I key_id /path/to/user_key.pub

El certificado resultante se colocará en /ruta/a/user_key-cert.pub. Un certificado de anfitrión
requiere el -h opción:

$ ssh-keygen -s / ruta / a / ca_key -I key_id -h /path/to/host_key.pub

El certificado de host se enviará a /ruta/a/host_key-cert.pub.

Es posible firmar usando una clave CA almacenada en un token PKCS # 11 proporcionando el token
biblioteca usando -D e identificando la clave de CA proporcionando su mitad pública como argumento para
-s:

$ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id clave_usuario.pub

En todos los casos, id_clave es un "identificador de clave" que registra el servidor cuando el certificado
se utiliza para la autenticación.

Los certificados pueden estar limitados a ser válidos para un conjunto de nombres principales (usuario / host). Por
Por defecto, los certificados generados son válidos para todos los usuarios o hosts. Para generar un certificado
para un conjunto específico de principios:

$ ssh-keygen -s clave_ca -I id_clave -n usuario1, usuario2 clave_usuario.pub
$ ssh-keygen -s ca_key -I key_id -h -n host.dominio host_key.pub

Se pueden especificar limitaciones adicionales sobre la validez y el uso de los certificados de usuario a través de
opciones de certificado. Una opción de certificado puede deshabilitar funciones de la sesión SSH, puede ser
válido solo cuando se presenta desde direcciones de origen particulares o puede forzar el uso de un
comando específico. Para obtener una lista de opciones de certificado válidas, consulte la documentación de la -O
Opción anterior.

Finalmente, los certificados se pueden definir con una vigencia de por vida. los -V la opción permite
especificación de las horas de inicio y finalización del certificado. Un certificado que se presenta a la vez
fuera de este rango no se considerará válido. De forma predeterminada, los certificados son válidos desde
UNIX Época hacia el futuro lejano.

Para que los certificados se utilicen para la autenticación de usuario o host, la clave pública de CA debe ser
confiado por sshd(8) o ssh(1). Consulte esas páginas del manual para obtener más detalles.

VENTAJAS REVOCACIÓN LISTAS


ssh-keygen es capaz de gestionar listas de revocación de claves (KRL) en formato OpenSSH. Estos archivos binarios
especificar claves o certificados que se revocarán utilizando un formato compacto, tomando tan solo uno
bit por certificado si están siendo revocados por el número de serie.

Los KRL se pueden generar utilizando el -k bandera. Esta opción lee uno o más archivos de la
línea de comando y genera una nueva KRL. Los archivos pueden contener una especificación KRL (consulte
a continuación) o claves públicas, enumeradas una por línea. Las claves públicas simples se revocan enumerando sus
hash o contenido en la KRL y certificados revocados por número de serie o ID de clave (si el
serial es cero o no está disponible).

Revocar claves utilizando una especificación KRL ofrece un control explícito sobre los tipos de registro
Se utiliza para revocar claves y se puede utilizar para revocar directamente certificados por número de serie o clave.
DNI sin tener a mano el certificado original completo. Una especificación KRL consiste
de líneas que contienen una de las siguientes directivas seguidas de dos puntos y algunas directivas
Información específica.

de serie: número de serie[-número de serie]
Revoca un certificado con el número de serie especificado. Los números de serie son de 64 bits
valores, sin incluir cero y pueden expresarse en decimal, hexadecimal u octal. Si dos
los números de serie se especifican separados por un guión, luego el rango de números de serie
incluyendo y entre cada uno se revoca. La clave de CA debe haber sido especificada en el
ssh-keygen línea de comando usando el -s .

id: id_clave
Revoca un certificado con la cadena de ID de clave especificada. La clave de CA debe haber sido
especificado en el ssh-keygen línea de comando usando el -s .

clave: Llave pública
Revoca la clave especificada. Si aparece un certificado, se revoca como
clave pública simple.

sha1: Llave pública
Revoca la clave especificada por su hash SHA1.

Los KRL se pueden actualizar utilizando el -u bandera además de -k. Cuando se especifica esta opción,
las claves enumeradas a través de la línea de comando se fusionan en la KRL, agregando a las que ya están allí.

También es posible, dado un KRL, probar si revoca una clave en particular (o claves).
El -Q flag consultará un KRL existente, probando cada clave especificada en la línea de comando. Si
cualquier tecla listada en la línea de comando ha sido revocada (o se encontró un error) entonces
ssh-keygen saldrá con un estado de salida distinto de cero. Solo se devolverá un estado de salida cero
si no se revocó ninguna clave.

Utilice ssh-keygen en línea utilizando los servicios de onworks.net



Últimos programas en línea de Linux y Windows