Descubrí que ssh-keygen
(paquete "ssh") produce claves diferentes de puttygen
(paquete "masilla").
Si creo claves públicas y privadas con ssh-keygen
algunos servidores ssh, no aceptaré mis claves. Si creo claves con puttygen
un solo servidor, lo acepto.
¿Por qué los repositorios de Linux no le proponen alguna solución (paquete) común? Encontré otro paquete ssh-3.2.9.1 que crea claves que funcionan con masilla. Pero, ¿por qué no hay una solución práctica en SSH?
Respuestas:
OpenSSH es la implementación estándar de facto del protocolo SSH. Si PuTTY y OpenSSH difieren, PuTTY es el que es incompatible.
Si genera una clave con OpenSSH usando
ssh-keygen
las opciones predeterminadas, funcionará con prácticamente todos los servidores disponibles. Un servidor que no acepte dicha clave sería antiguo, con una implementación diferente de SSH, o configurado de una manera extrañamente restrictiva. Las claves de un tipo no predeterminado pueden no ser compatibles con algunos servidores, en particular las claves ECDSA hacen que el establecimiento de la sesión sea un poco más rápido, pero solo son compatibles con las versiones recientes de OpenSSH.PuTTY utiliza un formato de archivo de clave diferente. Viene con herramientas para convertir entre su propio
.ppk
formato y el formato de OpenSSH.Este ssh-3.2.9.1 que encontró es un producto comercial que tiene su propio formato de clave privada diferente. No hay ninguna razón para usarlo en lugar de OpenSSH, solo puede ser menos compatible, requiere pagar y hay casi cero tutoriales sobre cómo usarlo.
fuente
La mayoría de las distribuciones de Linux tienen
putty
disponible para Linux. Puede instalarputty
en el lado de Linux y usarputtygen
para convertir los archivos .ppk a los archivos de clave de estilo ssh normales (llamados archivos PEM, a pesar de que no reciben un .pem en el nombre del archivo).NOTA: También puede usar
puttygen
para importar archivos PEM de estilo ssh nuevamenteputty
.El autor de PuTTY optó por la simplicidad, por lo que las claves públicas y privadas que constituyen la seguridad subyacente utilizada por la autenticación de clave putty / ssh 2 se almacenan en un único archivo .ppk propietario. Típicamente, estas claves se mantienen como 2 archivos separados por ssh.
En Linux, los archivos clave generalmente se guardan en el directorio, .ssh.
Hay una buena descripción general del proceso de conversión aquí en esta pregunta de desbordamiento de pila titulada: Convertir PEM a formato de archivo PPK .
El autor de Putty también discute su justificación para usar archivos .ppk en el
putty
manual del usuario . Puede leer sobre esto aquí en la sección 8.2.12.fuente
uname -a
. Distribución Linux:lsb_release -a
.Ambos almacenan un "par de claves RSA para la versión 2 del protocolo SSH" y se pueden convertir indistintamente; sin embargo, con respecto a la diferencia de formato almacenado real:
de https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html
[ énfasis agregado]
fuente