Конвертировать ключ Amazon .pem в Putty .ppk key Linux

49

Я сгенерировал и загрузил закрытый .pemключ от AWS. Однако, чтобы использовать Putty для подключения к виртуальной машине, у меня должен быть этот ключ в .ppkформате. Процесс преобразования подробно описан здесь примерно в 20 строках:

Я использую Linux Mint (дистрибутив Ubuntu) и знаю, что могу использовать puttygen в терминале. Тем не менее, я не знаю, как использовать этот инструмент, ни как настроить необходимые параметры. Когда я набираю puttygen --help я получаю

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

Но я не имею ни малейшего представления о том, как сделать то, что мне говорит веб-сайт, и все мои попытки пока не увенчались успехом.

Как мне сделать то, что мне говорит веб-сайт, используя puttygen на терминале?

Flame_Phoenix
источник
Связанный: unix.stackexchange.com/questions/74545/...
ОДС

Ответы:

70

Использование GUI

Смотрите этот раздел вопросов и ответов о том, как сделать именно то, что вы хотите, под названием: Преобразовать PEM в формат файла PPK .

выдержка

  1. Загрузите ваш .pem из AWS
  2. Откройте PuTTYgen, выберите тип ключа для генерации: SSH-2 RSA
  3. Нажмите «Загрузить» на правой стороне примерно на 3/4 вниз
  4. Установите тип файла *.*
  5. Найдите и откройте ваш .pem файл
  6. PuTTY автоматически определит все, что ему нужно, вам нужно просто нажать «Сохранить закрытый ключ» и вы можете сохранить свой ключ ppk для использования с PuTTY

Использование командной строки

С другой стороны, если вы хотите преобразовать файл .pemв .ppkфайл с помощью инструмента командной строки puttygen, я наткнулся на это решение для SO в этом разделе вопросов и ответов под названием:

выдержка

$ puttygen keyfile.pem -O private -o avdev.ppk

Для открытого ключа:

$ puttygen keyfile.pem -L

Рекомендации

SLM
источник
шаги 2–6 также работают для других типов файлов закрытого ключа (например, файла, полученного с помощью команды Git Bash ssh-keygen), спасибо!
AtAFork
больше не работает из командной строки
Aryeh Beitz
Какие-либо мысли о том, как это будет работать на OSX, PuTTYgen недоступен
Qasim
Если вы хотите добавить пароль / пароль к закрытому ключу, просто добавьте -P. Например puttygen k.pem -PO private -o k.ppk.
CPHPython
15

Если вы используете GNU / Linux, вам не нужно использовать Putty. Эта часть руководства предназначена для пользователей Windows.

Просто установите .pemправа доступа к файлу r--, выполнив их, и chmod 400 mykey.pemвы сможете передать их прямо в ssh:

ssh -i mykey.pem user@aws-host.amazon.com 
Франсуа Феже
источник
Причина, по которой я пытаюсь использовать шпатлевку, заключается в том, что я могу следовать инструкциям в этом уроке plex . Если есть другие способы сделать это, пожалуйста, не стесняйтесь объяснять.
Flame_Phoenix
Ваш сервер Plex Media находится на компьютере AWS, и вы пытаетесь подключиться к нему с рабочей станции Mint, я правильно понял? Вы должны открыть еще один вопрос, объясняющий это, но уже есть много вопросов, объясняющих, как сделать SSH туннелирование.
Франсуа Феже
1
Используя указанную вами команду, я смог войти в удаленный экземпляр AWS. Я на самом деле хотел передать файлы, которые я использовал команду (на всякий случай, если это кому-то помогает) sftp -oIdentityFile=mykey.pem user@<publicIP>... спасибо, что ваш пост помог мне решить проблему, с которой я столкнулся более 5 часов.
Субхам Трипати
0

используйте команду ниже, это работает для меня в Ubuntu

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

пример

puttygen pemKey.pem -o ppkKey.ppk -O private

thrinadhn
источник
Это уже описано в принятом ответе. Вам не нужно использовать sudoэто, если ваш текущий пользователь имеет разрешение на запись в выходной каталог.
Стивен Китт
Спасибо за ваше предложение @Stephen Kitt
Thrinadhn