¿Cómo convertir la clave .ppk en clave OpenSSH bajo Linux?
Sé que es posible convertir .ppk bajo puttygen en Windows, pero ¿cómo hacerlo en Linux? ¿Es esto posible?
Hazlo con Putty.
Linux: con tu gestor de paquetes, instala PuTTY (o las herramientas más mínimas de PuTTY):
OS X: Instala Homebrew , luego ejecuta brew install putty
Coloca tus llaves en algún directorio, por ejemplo, tu carpeta de inicio. Ahora convierte las claves PPK en pares de claves SSH:cache search
Para generar la clave privada:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
y para generar la clave pública:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Mueve estas claves a ~/.ssh
y asegúrate de que los permisos son privados para tu clave privada:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Si ya has intentado realizar una operación de ‘ git clone’ podrías necesitar hacer esto también
chmod 666 ~/.ssh/known_hosts
Consigue la clave privada:
abre el archivo .ppk en puttygen:
puttygen ~/.ssh/id_dsa.ppk
exporta como openssh:
Conversiones → Exporta la clave OpenSSH
Consigue la clave pública:
abre como antes la ** clave privada** con puttygen, la clave pública está bajoclave pública para pegar en el archivo OpenSSH authorizedkeys_
Preparé un contenedor Docker para simplificar la vida:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
Donde:
/path/to/file.ppk
- ruta local a su archivo ppk /path/to/output
- ruta local a donde se debe colocar la llave privada y pública