Je sais qu'il est possible de convertir un fichier .ppk avec puttygen sous Windows, mais comment faire sur Linux? Est-ce possible?
Salut j'ai déjà une clé publique alors il est nécessaire de créer une nouvelle clé publique.
Je sais qu'il est possible de convertir un fichier .ppk avec puttygen sous Windows, mais comment faire sur Linux? Est-ce possible?
Faites-le avec Putty.
Linux: avec votre gestionnaire de paquets, installez PuTTY (ou les outils PuTTY plus minimaux) :
sudo apt-get install putty-tools
apt-get install putty-tools
yum install putty
emerge putty
sudo pacman -S putty
brew install putty
Placez vos clés dans un répertoire, par exemple, votre dossier personnel. Maintenant, convertissez les clés PPK en paires de clés SSH:
Pour générer la clé privée :
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
et pour générer la clé publique :
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Déplacez ces clés dans ~/.ssh
et assurez-vous que les autorisations sont définies à privé pour votre clé privée :
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Si vous avez déjà essayé d'effectuer une opération de clonage 'git clone' vous devrez peut-être faire ceci aussi
chmod 666 ~/.ssh/known_hosts
Salut j'ai déjà une clé publique alors il est nécessaire de créer une nouvelle clé publique.
Si vous êtes venu ici chercher comment le faire sous Windows, exécutez "puttygen votreclé.ppk", puis sous le menu Conversions choisissez "Export OpenSSH key" pour obtenir la clé privée.
La solution de @jous est beaucoup plus agréable car vous n'avez pas besoin de la clé privée pour convertir une clé publique + vous n'avez pas besoin d'installer putty
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
-i
drapeau signifie importer depuis un format autre que openssh-f
drapeau signifie lire à partir du fichier d'entréeSource: un article de blog sur burnz.wordpress.com
Les fichiers .ppk sont les paires de clés complètes, je ne pense pas que la commande ci-dessus ou le billet de blog s'appliquent à cela.
Je pense que cela fonctionne si vous utilisez le bouton "Enregistrer la clé publique" de puttygen. ssh-keygen ne comprend pas les vrais fichiers .ppk car ils manquent ces marqueurs '----DÉBUT DE LA CLÉ PUBLIQUE SSH2----'. Vous pouvez trouver la clé publique dans le fichier .ppk entre les lignes "Public-Lines:.." et "Private-Lines:..".
Cela a fonctionné pour moi avec un fichier de clé publique - puttygen semble nécessiter une clé privée. Il semble que tout ce qu'il a fait était de réorganiser la partie en base 64 en une seule ligne.
Obtenez la clé privée :
ouvrez le fichier .ppk dans puttygen :
puttygen ~/.ssh/id_dsa.ppk
exportez en tant que openssh :
Conversions Exporter la clé OpenSSH
Obtenez la clé publique :
ouvrez comme précédemment la clé privée avec puttygen, la clé publique se trouve sous clé publique à coller dans le fichier authorized_keys OpenSSH
J'ai préparé un conteneur Docker pour rendre la vie plus simple :
docker run --rm \
--volume=/chemin/vers/fichier.ppk:/tmp/id_dsa.ppk \
--volume=/chemin/vers/sortie:/tmp/out/ \
czerasz/putty-tools
Où :
/chemin/vers/fichier.ppk
- chemin local vers votre fichier ppk/chemin/vers/sortie
- chemin local où la clé privée et publique doivent être placéesSystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.