Преобразование PEM в формат файла PPK

126

Есть ли способ конвертировать файлы PEM в файлы PPK? (вы можете догадаться, что Amazon EC2 предоставляет мне файл PEM, и мне нужно использовать формат PPK для подключения по SSH).

Одинокий рейнджер
источник
1
никогда не слышал о формате ppk, но я сомневаюсь, что в .NET есть что-нибудь для этого.
Президент Джеймс К. Полк
6
PPK - это формат клиента Putty. Я не думаю, что .NET имеет к этому какое-то отношение.
Borealid 06
2
Хорошо, я этого не осознавал ... Значит, PPK - это просто проприетарный / странный формат, который существует только в Putty-land?
LoneRanger 06
1
К тому же это единственный формат, который принимает FileZilla.
Райдер
И формат по умолчанию, в котором AmazonWebServices выдает свои ключи.
Kzqai

Ответы:

230

Используйте PuTTYGen

Создание и использование ключей SSH

обзор

vCloud Express теперь имеет возможность создавать ключи SSH для серверов Linux. Эта функция позволит пользователю создать несколько пользовательских ключей, выбрав опцию «Моя учетная запись / Управление ключами». После создания ключа пользователю потребуется выбрать желаемый ключ SSH во время процесса «Создать сервер» для Linux.

Создание и использование ключей SSH

  1. Создать ключи
    • Перейдите в «Моя учетная запись»
    • Выберите «Управление ключами».
    • Создать новый ключ.
      • В процессе создания ключа вам будет предложено загрузить файл закрытого ключа в формате .PEM. Вы не сможете повторно загрузить закрытый ключ, поскольку он не хранится в vCloud Express.
      • Флажок «По умолчанию» используется для API.
  2. Разверните сервер и выберите ключ
  3. Connect

    • SSH (Mac / Linux)
      • Скопируйте файл .PEM на машину, с которой вы собираетесь подключиться.
      • Убедитесь, что для файла .PEM установлены соответствующие разрешения (chmod 600 file.pem)
      • Подключитесь с помощью команды ssh: ssh vcloud @ ipaddress –i privkey.pem
    • Шпатлевка (Windows)
      • Загрузите Putty и puttygen отсюда
      • Используйте puttygen для преобразования файла .PEM в файл .PPK.
      • Запустите puttygen и выберите «Загрузить».
      • Выберите свой файл .PEM.
      • Putty преобразует формат .PEM в формат .PPK. введите описание изображения здесь
      • Выберите «Сохранить закрытый ключ». Кодовая фраза не требуется, но может использоваться, если требуется дополнительная безопасность.
    • Соединитесь с Putty.

      • Запустите Putty и введите IP-адрес хоста. При подключении к частному адресу 10.X необходимо сначала установить соединение SSL VPN.
      • Перейдите в Connection / SSH / Auth
      • Нажмите «Обзор» и выберите файл .PPK, который вы экспортировали из puttygen. введите описание изображения здесь

      • Нажмите «Открыть». При подключении введите имя пользователя (по умолчанию vcloud).

Инструкции скопированы отсюда

Райан Кинал
источник
Спасибо, я сделал это, и это сработало! LoneRanger, я думаю, вы можете отметить это как правильный ответ :-)
Кевин П.
65

Я очень шокирован тем, что на это не ответили, поскольку решение очень простое.

Как упоминалось в предыдущих сообщениях, вы не захотите преобразовывать его с помощью C #, а только один раз. Это легко сделать с помощью PuTTYGen.

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

Наслаждайтесь!

trex005
источник
2
Для тех, у кого это решение не работает, обновите свой puttygen с сайта chiark.greenend.org.uk/~sgtatham/putty/download.html . Мой был 2005 года и не мог открывать PEMs
mistika 05
31
Это действительно забавно, когда вы ищете, как сделать то, чего не делали долгое время, и находите ответ stackoverflow, который вы дали 2,5 года назад.
trex005
2
@ trex005 ну, stackoverflow теперь кажется расширением нашей памяти, нам не нужно все запоминать в голове.
Парамвир Сингх Карвал 08
@ParamvirSinghKarwal, вы очень правы ... Я, наверное, использую этот пост раз в год или два для своего собственного мемроя, но я больше не комментирую, так как это будет просто раздражать!
trex005
16
  1. Скачать puttygen
  2. Затем откройте puttygen
  3. нажмите кнопку загрузки
  4. Установите тип файла на .все файлы
  5. Сохранить PrivateKey
  6. а затем вы можете просто сохранить любое имя, чтобы файл стал файлом ppk
user7757658
источник
5

Для подключения по SSH к экземпляру AWS EC2 вам не нужно преобразовывать файл .PEM в файл PPK даже на компьютере с Windows, простой SSH с помощью инструмента git bash. Нет необходимости загружать и конвертировать это программное обеспечение - надеюсь, это сэкономит ваше время на загрузку и преобразование ключей и даст вам больше времени на вещи, связанные с EC2.

загадка
источник
1
Или, в Windows 10, «Bash на ubuntu на windows»
Эндрю Лориен
Вам нужен ppk, чтобы делать ssh с помощью
putty
Ответ правильный, но не касается вопроса в названии
Оливер Данжи,
5

Если у вас есть машина Linux, просто установите puttygen в свою систему и используйте команду ниже для преобразования ключа

pem to ppk используйте команду ниже:

puttygen keyname -o keyname.ppk

Команда ниже используется для преобразования ppk в pem, а не pem в ppk

puttygen filename.ppk -O private-openssh -o filename.pem

Дипак Шарма
источник
И вы можете установить putty в большинстве дистрибутивов Linux - здесь есть хороший список: command-not-found.com/puttygen
Оливер Данжи
Что не так, рекомендую преобразовать pem в ppk puttygen keyname -o keyname.ppk
Дипак Шарма
вы отредактировали и упомянули команду, которая используется для преобразования ppk в pem
Дипак Шарма
3
  1. Сохраните YourPEMFILE.pem в свой каталог .ssh
  2. Запустите puttygen из командной строки

    а. Нажмите кнопку «Загрузить», чтобы «Загрузить существующий файл закрытого ключа»
    b. Измените фильтр файлов на «Все файлы ( . )
    C. Выберите YourPEMFILE.pem
    d. Щелкните Открыть
    e. Puttygen показывает уведомление о том, что внешний ключ успешно импортирован. Щелкните ОК.
    е. Нажмите кнопку «Сохранить закрытый ключ»
    g. Когда вас спросят, уверены ли вы, что хотите сохранить без ввода пароля, ответьте «Да».
    час Введите имя файла YourPEMFILE.ppk
    i. Нажмите «Сохранить».

Kartick Shaw
источник
2

Преобразование файла .pem в .ppk для Windows 10

Вам необходимо сделать следующее:


1. Загрузите PuTTYGen с Pageant .
2. Нажмите кнопку «Загрузить» и выберите свой файл «.pem» .
3. Нажмите кнопку «сохранить закрытый ключ» и сохраните файл «.ppk» .
4. Откройте Pageant и нажмите кнопку «добавить ключ» . Просто все. Продолжайте запускать Pageant в фоновом режиме .
5. Теперь войдите в систему через SSH или SFTP, не выбирая поле пароля.


введите описание изображения здесь


введите описание изображения здесь


введите описание изображения здесь

М. Хамза Раджпут
источник
1

PuTTYgen для Ubuntu / Linux и PEM для PPK

sudo apt install putty-tools
puttygen -t rsa -b 2048 -C "user@host" -o keyfile.ppk
Администратор
источник
0

Я использовал пробную версию ZOC Terminal Emulator, и она сработала. Он легко принимает файлы Amazon * .pem.

Хитрость заключается в том, что вам нужно указать «ec2-user» вместо «root» для имени пользователя - несмотря на пример, показанный в консоли EC2, что неверно! ;-)

Patalenski
источник
0

У меня была такая же проблема с PuttyGen, который не хотел импортировать закрытый ключ openSSH. Я перепробовал все и выяснил, что старая версия PuttyGen не поддерживает импорт OpenSSH. Как только я загрузил последнюю версию Putty, puttygen разрешил ей импортировать закрытый ключ openssh. У меня теперь есть дыра в боковой стенке стола, чтобы я бился о нее в течение последнего часа.

peterlandis
источник