it-swarm.com.de

Wie konvertiert man einen .ppk-Schlüssel unter Linux in einen OpenSSH-Schlüssel?

Ich weiß, dass es unter Windows möglich ist, .ppk unter puttygen zu konvertieren, aber wie geht das unter Linux? Ist das möglich ?

176
marioosh

Mach es mit PuTTY.

  • Linux: Installiere mit deinem Paketmanager PuTTY (oder die minimaleren PuTTY-Tools):

    • Ubuntu Sudo apt-get install PuTTY-tools
    • Debian-ähnlicher apt-get install PuTTY-tools
    • RPM-basierter yum install PuTTY
    • Gentoo emerge PuTTY
    • Archlinux Sudo pacman -S PuTTY
    • usw.
  • OS X: Install Homebrew , dann brew install PuTTY ausführen

Platzieren Sie Ihre Schlüssel in einem Verzeichnis, z. Ihr persönlicher Ordner. Konvertieren Sie nun die PPK-Schlüssel in SSH-Schlüsselpaare: Cache-Suche

So generieren Sie den Schlüssel private :

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

und um den public Schlüssel zu generieren:

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

Verschieben Sie diese Schlüssel nach ~/.ssh und stellen Sie sicher, dass die Berechtigungen für Ihren privaten Schlüssel auf privat festgelegt sind:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

Wenn Sie bereits versucht haben, eine ' git clone ' - Operation auszuführen, müssen Sie dies möglicherweise auch tun

chmod 666 ~/.ssh/known_hosts
258
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
  • Das Flag -i wird nicht aus dem openssh-Format importiert
  • -f flag bedeutet, dass aus der Eingabedatei gelesen wird

Quelle: ein Blogpost bei burnz.wordpress.com

36
jous

Holen Sie sich den privaten Schlüssel:

Öffne die .ppk Datei in puttygen:

puttygen ~/.ssh/id_dsa.ppk

als openssh exportieren:

Konvertierungen → OpenSSH-Schlüssel exportieren

Holen Sie sich den öffentlichen Schlüssel:

öffnen wie vor dem privaten Schlüssel mit puttygen befindet sich der öffentliche Schlüssel unter öffentlicher Schlüssel zum Einfügen in die OpenSSH-Datei authorized_keys

5
Bar Horing

Ich habe einen Docker-Container vorbereitet, um das Leben zu vereinfachen:

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

Woher:

  • /path/to/file.ppk - lokaler Pfad zu Ihrer ppk-Datei
  • /path/to/output - lokaler Pfad zu dem Ort, an dem der private und der öffentliche Schlüssel platziert werden sollen
4
czerasz