Вопрос: Как преобразовать закрытый ключ SSH в .ppk в командной строке Windows?


Я создал пару ключей с ssh-keygen, Теперь я хочу использовать ту же пару ключей с приложениями на основе PuTTY.

Поскольку я работаю в среде CLI, я хочу преобразовать ключ в .ppk формат из этой среды.

Видимо, вы можете использовать puttygen openssh_private_key -o output_filename.ppk в UNIX-подобных средах. Но версия Windows puttygen просто загрузит ключ и предложит вам использовать графический интерфейс для экспорта ключа.

Пакетный режим для Windows PuTTYgen предполагает, что это просто невозможно в настоящее время, по крайней мере, с puttygen, Я бы с радостью согласился и решил использовать другие средства.

Как преобразовать ключ из командной строки?


4
2018-05-08 10:56


Источник




Ответы:


WinSCP 5.9 и более новые опоры преобразование секретных ключей из OpenSSH (или ssh.com) из командной строки в PuTTY .ppk формат,

Использовать /keygen переключатель:

winscp.com /keygen mykey.pem /output=mykey.ppk

Или вы можете скомпилировать / запустить Командная строка Unix puttygen используя Cygwin.


Или создайте свой собственный инструмент из кода PuTTY. Это с открытым исходным кодом. Это должно быть довольно легко.

Использовать import_ssh2 загрузить .pem:

struct ssh2_userkey *import_ssh2(const Filename *filename, int type,
             char *passphrase, const char **errmsg_p)

Использовать ssh2_save_userkey чтобы сохранить его как .ppk:

int ssh2_save_userkey(const Filename *filename, struct ssh2_userkey *key,
          char *passphrase)

6
2018-05-09 07:55



Я только пытался создать удобный сценарий. Но это самая полезная информация, которую я могу получить. - Der Hochstapler
Была выпущена бета-версия WinSCP 5.8 с поддержкой командной строки для преобразования закрытого ключа. - Martin Prikryl
Потрясающие! Я дам ему попробовать в следующий раз, когда проблема возникнет :) - Der Hochstapler
Если он ожидает ожидания нажатия клавиши, вероятно, вы используете winscp.exe вместо winscp.com. У WinSCP есть действительно странный способ указать неинтерактивный режим. - Robert Važan
@ RobertVažan Это не о неинтерактивности. Если вы хотите что-то скриптовать, вы должны использовать консольное приложение, а не графическое приложение. Прочитать о Исполняемые файлы WinSCP, - Martin Prikryl


Если вы работаете в Linux или генерируете свой ключ там (или, может быть, можете?), Вы можете использовать

puttygen -t rsa -C "my home key" -o mykey.ppk

В противном случае, если вы находитесь в окнах, я не вижу, как вы можете это сделать, кроме создания ключа на другом компьютере.


3
2018-05-08 11:11



Это то, что я использую до сих пор, но одно раздражение заключается в том, что, по крайней мере, в Windows он оставляет окно puttygen открытым, havent нашел способ автоматически закрыть его - Purefan


ПРИМЕЧАНИЕ. OP требует командной строки. Этот ответ использует графическое приложение ... Оставьте ответ здесь на всякий случай, если он будет полезен.

Возможно, более простое решение.

1) Скачайте (если у вас еще нет) приложение PuTTY Key Generator (PuTTYgen), пройдя Вот или Вот,

2) Открыть PuTTYgen

3) Нажмите «Конверсии», затем нажмите кнопку импорта.

4) Найдите файл ключа и нажмите «Открыть».

Теперь вы можете сохранить свой ключ в виде файла PPK, нажав кнопку «Сохранить закрытый ключ»

Вы также можете сохранить общедоступную версию своего ключа, нажав кнопку «Сохранить открытый ключ»

https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/

https://kb.site5.com/shell-access-ssh/how-to-convert-ssh-keys-to-ppk-format/


1
2017-12-19 11:57



Вопрос в том, что «Командная строка Windows», - Martin Prikryl
@MartinPrikryl - Вы правы, я сделаю заметку об этом. Я мог бы также удалить его, но я видел очень часто похожие случаи, когда читатели все равно оценивали ответы. И это главная цель SO. - sancho.s