web-dev-qa-db-fra.com

Comment convertir une clé .ppk en clé OpenSSH sous Linux?

Je sais qu'il est possible de convertir .ppk sous puttygen dans Windows, mais comment faire cela sous Linux? Est-ce possible ?

176
marioosh

Faites-le avec PuTTY.

  • Linux: avec votre gestionnaire de paquets, installez PuTTY (ou le plus petit des outils PuTTY):

    • Ubuntu Sudo apt-get install PuTTY-tools
    • apt-get install PuTTY-tools-like Debian
    • yum install PuTTY basé sur le RPM
    • Gentoo emerge PuTTY
    • Archlinux Sudo pacman -S PuTTY
    • etc.
  • OS X: Installer Homebrew , puis exécutez brew install PuTTY

Placez vos clés dans un répertoire, par exemple. votre dossier personnel. Convertissez maintenant les clés PPK en paires de clés SSH: recherche dans le cache

Pour générer la clé private :

cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa

et pour générer la public clé:

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

Déplacez ces clés vers ~/.ssh et assurez-vous que les autorisations sont définies sur 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 ' git clone ', vous devrez peut-être aussi le faire.

chmod 666 ~/.ssh/known_hosts
258
Stanley Williams
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
  • L'indicateur -i est une importation d'un format autre que le format openssh
  • -f flag signifie lire à partir du fichier d'entrée

Source: a blogpost at burnz.wordpress.com

36
jous

Récupère la clé privée:

ouvrez le fichier .ppk dans puttygen:

puttygen ~/.ssh/id_dsa.ppk

exporter en opensh:

Conversions → Exporter la clé OpenSSH

Obtenir la clé publique:

ouverte comme avant la clé privée avec puttygen, la clé publique est sous clé publique pour coller dans le fichier OpenSSH allowed_keys

5
Bar Horing

J'ai préparé un conteneur Docker pour simplifier la vie:

docker run --rm \
           --volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
           --volume=/path/to/output:/tmp/out/ \
           czerasz/PuTTY-tools

Où:

  • /path/to/file.ppk - chemin local de votre fichier ppk
  • /path/to/output - chemin local où les clés privée et publique doivent être placées
4
czerasz