ssh-keygen es un componente estándar del paquete de protocolos Secure Shell (SSH) que se encuentra en los sistemas informáticos Unix , tipo Unix y Microsoft Windows que se utiliza para establecer sesiones de shell seguras entre computadoras remotas a través de redes inseguras , mediante el uso de diversas técnicas criptográficas . La utilidad ssh-keygen se utiliza para generar, administrar y convertir claves de autenticación.
Desarrollador (es) | El proyecto OpenBSD |
---|---|
Repositorio | github |
Escrito en | C |
Sistema operativo | Unix , similar a Unix , Microsoft Windows |
Tipo | Mando |
Licencia | BSD , ISC , dominio público |
Sitio web | www |
Descripción general
ssh-keygen puede generar una clave utilizando uno de los tres algoritmos de firma digital diferentes . Con la ayuda de la herramienta ssh-keygen, un usuario puede crear claves de frase de contraseña para cualquiera de estos tipos de claves. Para permitir una operación desatendida, la frase de contraseña puede dejarse vacía, aunque con mayor riesgo. Estas claves difieren de las utilizadas por la herramienta relacionada GNU Privacy Guard .
Los programas de servidor y cliente basados en OpenSSH se han incluido en Windows 10 desde la versión 1803. El cliente SSH y el agente de claves están habilitados y disponibles de forma predeterminada y el servidor SSH es una característica opcional a pedido. [1] [2]
Formatos de clave compatibles
Protocolo | Generacion |
---|---|
RSA | 1 |
DSA | 2 |
ECDSA | 3 |
ed25519 | 4 |
Originalmente, con la versión 1 del protocolo SSH (ahora en desuso), solo se admitía el algoritmo RSA . A partir de 2016, RSA todavía se considera fuerte, pero la longitud de clave recomendada ha aumentado con el tiempo.
La versión 2 del protocolo SSH introdujo además soporte para el algoritmo DSA . DSA ahora se considera débil y se deshabilitó en OpenSSH 7.0.
Posteriormente, OpenSSH agregó soporte para un tercer algoritmo de firma digital, ECDSA (este formato de clave ya no usa el formato de archivo PEM anterior para claves privadas, ni depende de la biblioteca OpenSSL para proporcionar la implementación criptográfica).
Un cuarto formato es compatible con ed25519 , desarrollado originalmente por el investigador de criptografía independiente Daniel J. Bernstein .
Sintaxis del comando
La sintaxis del comando ssh-keygen es la siguiente:
ssh-keygen [opciones]
Algunas opciones importantes del comando ssh-keygen son las siguientes:
Opciones del comando ssh-keygen | descripción |
---|---|
-b bits | Especifica el número de bits en la clave para crear. La longitud predeterminada es 3072 bits (RSA) o 256 bits (ECDSA). |
-C comentario | Proporciona un comentario de clave personalizado (que se agregará al final de la clave pública). |
-pag | Solicita cambiar la frase de contraseña de un archivo de clave privada en lugar de crear una nueva clave privada. |
-t | Especifica el tipo de clave que se va a crear (p. Ej., Rsa). |
-o | Utilice el nuevo formato OpenSSH. |
-q | silencia ssh-keygen. Lo usa el archivo / etc / rc al crear una nueva clave. |
-NORTE | Proporciona una nueva frase de contraseña. |
-B | Descarga la huella digital de la llave en formato Bubble Babble. |
-l | Vuelca la huella digital de la clave en formato SHA-2 (o MD5 ). |
Archivos usados por la utilidad ssh-keygen
La utilidad ssh-keygen utiliza varios archivos para almacenar claves públicas y privadas. Los archivos utilizados por la utilidad ssh-keygen son los siguientes:
- $ HOME / .ssh / identity: El archivo $ HOME / .ssh / identity contiene la clave privada RSA cuando se usa la versión 1 del protocolo SSH.
- $ HOME / .ssh / identity.pub: el archivo $ HOME / .ssh / identity.pub contiene la clave pública RSA para la autenticación cuando se utiliza la versión 1 del protocolo SSH. Un usuario debe copiar su contenido en $ HOME /. ssh / autorizado_keys del sistema remoto donde un usuario desea iniciar sesión utilizando la autenticación RSA.
- $ HOME / .ssh / id_dsa: El archivo $ HOME / .ssh / id_dsa contiene la identidad de autenticación DSA de la versión 2 del protocolo del usuario.
- $ HOME / .ssh / id_dsa.pub: El archivo $ HOME / .ssh / id_dsa.pub contiene la clave pública DSA para la autenticación cuando se utiliza la versión 2 del protocolo SSH. Un usuario debe copiar su contenido en $ HOME /. ssh / autorizado_keys del sistema remoto donde un usuario desea iniciar sesión utilizando la autenticación DSA.
- $ HOME / .ssh / id_rsa: El archivo $ HOME / .ssh / id_rsa contiene la identidad de autenticación RSA de la versión 2 del protocolo del usuario. Este archivo no debe ser legible por nadie más que por el usuario.
- $ HOME / .ssh / id_rsa.pub: El archivo $ HOME / .ssh / id_rsa.pub contiene la clave pública RSA de la versión 2 del protocolo para la autenticación. El contenido de este archivo debe agregarse a $ HOME / .ssh / allowed_keys en todas las computadoras donde un usuario desea iniciar sesión usando autenticación de clave pública.
Referencias
enlaces externos
- Generando una clave SSH , una guía de GitHub
- ssh-keygen manual del proyecto OpenBSD
- Página de manual de Linux de die.net