Posible duplicado:
¿Cómo convertir una clave .ppk a una clave OpenSSH *en Linux*?
(Unix, aquí: ubuntu 10.4)
Sé cómo crear pares de claves ssh en Unix (ssh-keygen) y cómo hacerlo en Windows (puttygen). La parte que falta en mi caso sería cómo usar un par de claves, generado en Windows (puttygen), en un shell Unix.
¿Dónde necesito poner la clave pública, en este caso particular, para usarla como clave ssh en git?
Respuesta1
Dependiendo de la llave que necesites...
Clave privada – para iniciar sesióndeun sistema Unix en otro Unix
Primero debe convertir la clave, usando PuTTYgen, del formato PuTTY a uno que OpenSSH pueda usar.
En la versión de Windows de PuTTYgen, utilice elConversiones → Exportar clave OpenSSHopción del menú;
en la versión de Linux,
puttygen mykey.ppk -O private-openssh -o mykey
.
Sólo clave pública – para iniciar sesión desde WindowsaUnix
Vea la respuesta de Daniel.
Respuesta2
La ventana de Puttygen contiene un área de texto con la clave pública en el formato esperado por SSH.
Cópielo y agréguelo al archivo ~/.ssh/authorized_keys
en el servidor en su propia línea separada. Asegúrese de que el archivo y el directorio no sean legibles/escribibles por grupo y otros, es decir, ejecute chmod go-rwx ~/.ssh ~/.ssh/authorized_keys
.
Luego, el servidor aceptará su inicio de sesión utilizando la clave privada para la autenticación.
Respuesta3
Ok, creo que no lo dejé muy claro pero encontré la solución:
- iniciar puttygen
- cargar clave privada
- Conversiones de menú|Exportar clave OpenSSH
- Guarde en algún lugar, abra, copie el contenido al portapapeles, péguelo en Linux en el archivo: $HOME/.ssh/id_dsa
- (opcionalmente) copie el contenido del área de texto "Clave pública para pegar en el archivo OpenSSH autorizado_keys", péguelo en Linux en el archivo: $HOME/.ssh/id_dsa.pub
ahora puede usar esta clave SSH desde un shell para iniciar sesión en sistemas remotos.
nota al margen: para usar git sin problemas desde Windows PuTTY en un shell de Linux para conectarse a git, configure estas opciones en la sesión de PuTTY:
(y debes poner la clave pública en ~/.ssh/authorized_keys, claro...)