Configuré mi servidor Linux para aceptar conexiones desde la PC de mi casa agregando la clave pública generada por PuTTYgen al authorized_keys
archivo.
Ahora estoy tratando de conectarme a la misma máquina, pero esta vez desde otra máquina Ubuntu. Tengo que usar la misma clave privada (por una extraña razón, no preguntes ...) y no entiendo cómo instalarla en mi cliente Ubuntu.
¿Tengo que convertirlo a otro formato?
id_rsa
archivo (al convertir la clave en PuTTYgen)Por coincidencia, solo tenía que hacer esto. Es necesario convertir las claves al formato OpenSSH. El comando para hacerlo es:
entonces puede copiar el contenido de
openssh_key
in al.ssh/authorized_keys
igual que con una clave SSH normal.La
-i
opción es la que le dicessh-keygen
que haga la conversión. La-f
opción le dice dónde encontrar la clave para convertir.Esto funciona para claves sin cifrar . La clave pública no está encriptada, pero la privada probablemente esté encriptada. No estoy seguro de si hay una manera de desencriptar la clave privada, convertirla y luego volver a encriptarla. Puede que sea más fácil usar nuevas teclas como sugiere la otra respuesta (y recomendaría usarlas
ssh-agent
aunque sea ortogonal al problema actual).fuente
uudecode failed
), necesito seguir Cómo convertir los pares de claves SSH generados usando PuttyGen (Windows) en pares de claves utilizados por ssh-agent y KeyChain (Linux)puttygen_key
debería ser su clave pública, no su clave privada (* .ppk).Andrew Stacey explicó cómo convertir las claves al formato OpenSSH en Linux.
Si desea hacer lo mismo en Windows, siga estos pasos:
fuente
Cómo reutilizar sus pares de claves Putty en Ubuntu como claves OpenSSH:
Dado que el propósito del paso 4 es agregar su clave pública a * ~. / Ssh / Authorized_keys *, puede usar su clave secreta Putty como esta en lugar de hacer 4 como paso intermedio:
fuente
mykey-pub.ppk
es bastante confuso, ya que el.ppk
archivo tiene un formato completamente diferente y se usa para pares de claves (no solo clave pública).puttygen: unknown output type `private‐openssh'
yputtygen: cannot handle more than one input file
por lo que he copiado exactamente los caracteres desde el código fuente y el nuevo nombre de mi clave pública a algo completamente distintoPuTTY / PuTTYgen utiliza su propio formato patentado de par de claves. No funcionará en Linux, donde prevalece el formato de claves OpenSSH.
En PuTTYgen, puede ver directamente (y copiar + pegar) una clave pública en el formato utilizado por el
authorized_keys
archivo OpenSSH .Puede usar el botón Guardar clave pública para guardar la clave pública en el
.pub
formato (RFC 4716). En Linux, el archivo generalmente se llamaid_rsa.pub
(oid_dsa.pub
). Pero eso generalmente no es necesario.Use la clave Conversiones> Exportar OpenSSH para exportar la clave privada en el formato OpenSSH. En Linux, el archivo generalmente se denomina
id_rsa
(oid_dsa
) y se almacena en la.ssh
carpeta.Vea el uso oficial de PuTTYgen, el generador de claves PuTTY .
También puede usar una versión de Linux de PuTTYgen para realizar la conversión. La versión de Linux es la línea de comandos, a diferencia de la versión de Windows.
Consulte la
puttygen
página del manual de Linux .fuente
Encontré una solución más clara.
Al
puttygen
crear una clave, navegue hasta el menú superior - Conversión y haga clic en exportar clave opensshEl contenido del archivo comenzará y terminará con
para el usuario root Copie ese archivo de clave
/root/.ssh/
comoid_rsa
oid_dsa
para otro usuario Copie ese archivo de clave
/home/user/.ssh/
comoid_rsa
oid_dsa
Nota :
authorized_keys
.fuente
* * Tenga cuidado y asegúrese de tener acceso de consola a la caja porque si no lo hace bien, no podrá volver a ingresar hasta que lo arregle desde la consola.
El proceso es mucho más fácil de lo que piensas. Cargue el par de claves pública / privada que generó en puttygen nuevamente. En puttygen, notará una ventana en el medio de la pantalla que dice: "Clave pública para pegar en el archivo Open SSH autorizado_claves:".
resalte todo el contenido del cuadro y presione control-c para copiarlo.
SSH en su caja de Linux y péguelo en el archivo "/home/username/.ssh/authorized_keys". Prefiero usar nano y hacer clic derecho para pegarlo. Asegúrese de que todo se mantenga en una línea.
Modifique su archivo / etc / sshd_config según sea necesario y reinicie su servicio sshd: "service ssh restart"
Si necesita un archivo sshd_config de muestra, avíseme y puedo publicar el mío.
He hecho esto en Ubuntu 8.04, 10.04 y 12.04 servidor LTS y funciona muy bien.
fuente
No estoy seguro de si este hilo aún está activo, pero me topé con un problema similar con la edición de aniversario de Windows 10 que ahora es compatible con el kernel de Ubuntu. Solía usar Putty antes para conectarme a una máquina Linux. Para generar id_rsa en formato Linux, use puttykeygen y cargue su clave privada de masilla, luego haga clic en conversión y elija la segunda opción.
Masilla Key Conecciones genéricas
abra el archivo de clave recién generado y copie todo su contenido, asegúrese de que su contenido comience con: ----- COMIENCE LA LLAVE PRIVADA RSA ----- y termine con ----- FINALICE LA LLAVE PRIVADA RSA -----
vi id_rsa dentro de su directorio ~ / .ssh y pegue el contenido copiado, esto es necesario porque de lo contrario, Linux no entenderá el contenido del archivo.
Eso es todo, prueba ssh con el servidor remoto, debería funcionar.
fuente