Как преобразовать ключ .ppk в ключ OpenSSH под Linux?

Я знаю, что можно конвертировать .ppk под puttygen в Windows, но как это сделать в Linux? Это возможно ?

Сделайте это с помощью Шпатлевки.

  • Linux: с вашим менеджером пакетов установите PuTTY (или более минимальные инструменты PuTTY):

    • Ubuntu sudo apt-get install putty-tools
    • Debian-подобные apt-get install putty-tools
    • Основанная на RPM yum install putty
    • Gentoo emerge putty
    • Archlinux sudo pacman -S putty
    • и т.п.
  • OS X: установите Homebrew , затем запустите brew install putty

Поместите ключи в какой-либо каталог, например, в свою домашнюю папку. Теперь преобразуем ключи PPK в ключевые пары SSH: поиск кеша

Чтобы создать закрытый ключ:

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

И генерировать открытый ключ:

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

Переместите эти ключи в ~/.ssh и убедитесь, что для частного доступа установлены права доступа:

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

Если вы уже пытались выполнить операцию « git clone », вам может понадобиться сделать это также

 chmod 666 ~/.ssh/known_hosts 
 ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub 
  • -i flag – импорт из другого, кроме формата openssh
  • -f означает, что чтение из входного файла

Источник: блогпост на burnz.wordpress.com

Я подготовил контейнер Docker, чтобы сделать жизнь проще:

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

Где:

  • /path/to/file.ppk – локальный путь к вашему файлу ppk
  • /path/to/output – локальный путь к тому месту, где должен быть размещен закрытый и открытый ключ
Давайте будем гением компьютера.