Hoe converteer je .ppk sleutel naar OpenSSH sleutel onder Linux?
Ik weet dat het mogelijk is om .ppk te converteren onder puttygen in Windows, maar hoe doe je dat op Linux? Is dit mogelijk?
Doe het met Putty.
Linux: met uw pakketbeheerder, installeer PuTTY (of de meer minimale PuTTY-tools):
OS X: Installeer Homebrew , voer dan brew install putty
uit Plaats uw sleutels in een bepaalde map, bijv. uw homemap. Zet nu de PPK-sleutels om naar SSH-sleutelparen:cache search
Om de privé sleutel te genereren:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
en om de publieke sleutel te genereren:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Verplaats deze toetsen naar ~/.ssh
en zorg ervoor dat de rechten op de private key zijn ingesteld:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Als u al hebt geprobeerd een ‘git clone’ operatie uit te voeren, moet u dit misschien ook doen
chmod 666 ~/.ssh/known_hosts
Krijg de private sleutel:
open het .ppk bestand in puttygen:
puttygen ~/.ssh/id_dsa.ppk
export als openssh:
Conversies → Export OpenSSH sleutel
Krijg de publieke sleutel:
open zoals voor de private sleutel met puttygen, de publieke sleutel is onderpublieke sleutel voor het plakken in OpenSSH geautoriseerdesleutels bestand_.
Ik heb een Docker container voorbereid om het leven eenvoudiger te maken:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
Waar:
/path/to/file.ppk
- lokaal pad naar je ppk-bestand /path/to/output
- lokaal pad naar de plaats waar de private en publieke sleutel moet komen.