Перетворіть ключ Amazon .pem у ключ Putty .ppk Linux


49

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

Я використовую Linux Mint (дистрибутив Ubuntu), і я знаю, що можу використовувати puttygen в терміналі. Однак я не маю уявлення, як користуватися цим інструментом, ні як налаштувати потрібні параметри. Коли я набираю puttygen - допомогти, я отримую

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 на терміналі?


Відповіді:


70

Використання графічного інтерфейсу

Ознайомтесь із цим запитанням про те, як робити саме те, що ви хочете, під назвою: Перетворити 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

Список літератури


кроки 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 

Причина, що я намагаюся використовувати шпаклівку, полягає в тому, що я можу дотримуватися вказівок у цьому навчальному посібнику з плекс . Якщо є інші способи зробити це, то, будь ласка, поясніть.
Flame_Phoenix

Ваш сервер Plex Media знаходиться на машині AWS, і ви намагаєтесь пройти тунель до своєї робочої станції Mint, чи правильно я це розумію? Вам слід відкрити ще одне питання, пояснюючи це, але вже існує багато питань, що пояснюють, як робити тунелювання SSH.
François Feugeas

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


Це вже описано у прийнятій відповіді. Для цього вам не потрібно використовувати sudo, якщо ваш поточний користувач має дозвіл на запис у вихідний каталог.
Стівен Кітт

Дякуємо за Вашу пропозицію @Stephen kitt
thrinadhn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.