Come convertire la chiave .ppk in chiave OpenSSH sotto Linux?
So che è possibile convertire .ppk sotto puttygen in Windows, ma come farlo su Linux? È possibile?
Fallo con Putty.
Linux: con il tuo gestore di pacchetti, installa PuTTY (o il più minimo PuTTY-tools):
OS X: Installa Homebrew , poi esegui brew install putty
Posiziona le tue chiavi in qualche directory, ad esempio la tua cartella home. Ora converti le chiavi PPK in SSH keypairs:cache search
Per generare la chiave privata:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
e per generare la chiave pubblica:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
``` ```
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Spostare queste chiavi su ~/.ssh
e assicurarsi che le autorizzazioni siano impostate su private per la chiave privata:
chmod 666 ~/.ssh/known_hosts
``` &001
Se avete già provato ad eseguire un'operazione ' **git clone**' potreste aver bisogno di fare anche questo
&001
Prendersi la chiave privata:
aprire il file .ppk in puttygen:
puttygen ~/.ssh/id_dsa.ppk
esportare come openssh:
Conversioni → Esportare OpenSSH key
Prendersi la chiave pubblica:
aprire come prima della chiave privata con puttygen, la chiave pubblica è sottochiave pubblica per incollare nel file OpenSSH authorized_keys filekeys_
Ho preparato un contenitore Docker per semplificare la vita:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
``` &001
Dove:
- `/path/to/file.ppk` - percorso locale del vostro file ppk
- `/path/to/output` - percorso locale per il posizionamento della chiave privata e pubblica