null

Получаем OpenSSH ключи из файла ppk под Linux

Быстропост с переводом stackoverflow самому себе на заметку.

Если заказчик внезапно прислал ключи для ssh-доступа в формате ppk, а вы используете "правильную" операционную систему, и ходить к нему на сервер с помощью PuTTY категорически не хочется, то быстро вытащить приватный и публичный ключи сервера можно, воспользовавшись следующей инструкцией (все примеры ниже приведены для Ubuntu / Debian):

1. Установить пакет putty-tools (он есть в стандартных репозиториях Ubuntu / Debian):

sudo apt install putty-tools

2. Сгенерировать приватный ключ:

puttygen myhost.ppk -O private-openssh -o myhost

При запросе пароля нужно ввести пароль от сертификата ppk.

3. Сгенерировать публичный ключ:

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

4. Перенести эти ключи в каталог .ssh в домашнем каталоге и выставить на них правильные права доступа (к приватному ключу должен иметь доступ только ваш пользователь):

mv -i ~/myhost* ~/.ssh
chmod 600 ~/.ssh/myhost
chmod 666 ~/.ssh/myhost.pub

5. После этого смело идём на сервер по ssh:

ssh myuser@myhost

Если терминал запросит пароль, то опять вводим пароль от сертификата ppk.

 

Вперед

Коротко о себе:

Работаю ведущим программистом в компании Tune IT и ассистентом кафедры Вычислительной техники в Университете ИТМО .

Занимаюсь проектами, связанными с разработкой разного рода веб-приложений (порталы, CRM-системы, системы электронного документооборота), а также, в рамках научной работы на кафедре, изучаю возможности применения семантического анализа в задачах САПР.