PuTTY — это популярная программа для подключения к удалённым компьютерам по протоколам Telnet, SSH, Rlogin, Serial и Raw. Особенно широко эта программа распространена на Windows, так как раньше ей не было альтернатив на этой ОС.
В пакет PuTTY входит программа PuTTYgen, которая позволяет генерировать пару публичный и приватный ключ SSH. Для чего нужны эти ключи и как ими пользоваться смотрите в разделе «Вход в SSH без пароля (с использованием файлов ключей)».
Файлы, сгенерированные в PuTTYgen, имеют расширение .ppk и примерно следующую структуру:
Как извлечь ключи SSH из .ppk
Может понадобится извлечь приватный ключ, или публичный ключ или сразу оба ключа из файла .ppk. Это можно сделать в командной строке с помощью улиты PuTTYgen или в графическом интерфейсе. Данная инструкция покажет как это сделать. Описанные способы применимы для Windows и Linux.
Начать нужно с установки PuTTY, если вы ещё этого не сделали
Как установить PuTTY в Linux
В Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните команду:
sudo apt install putty
В дистрибутивах на основе RPM:
yum install putty
В Gentoo:
emerge putty
В Arch Llinux, BlackArch и их производных:
sudo pacman -S putty
В OS X:
Установите Homebrew, затем выполните:
brew install putty
Как конвертировать ключи PuTTY (.ppk) в формат OpenSSH
Поместите свои ключи в какой-нибудь каталог, например ваша домашняя папка. Теперь преобразуйте ключи PPK в пары ключей SSH.
Чтобы сгенерировать закрытый (приватный) ключ:
cd ~ puttygen id_dsa.ppk -O private-openssh -o id_rsa
и чтобы сгенерировать открытый (публичный ключ):
puttygen id_dsa.ppk -O public-openssh -o id_rsa.pub
Переместите эти ключи в ~/.ssh и убедитесь, что правильно установлены разрешения на приватный ключ:
mkdir -p ~/.ssh mv -i ~/id_dsa* ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 666 ~/.ssh/id_rsa.pub
Извлечение приватного ключа с помощью PuTTYgen в графическом пользовательском интерфейсе
Откройте PuTTYgen, нажмите кнопку «Load» и выберите файл .ppk с ключами.
Вы сразу увидите публичный ключ SSH, который вы можете скопировать и вставить в файл.
Теперь в меню перейдите в «Conversions» → «Export OpenSSH key» и сохраните приватный ключ.
Скопируйте ваш приватный ключ в файл ~/.ssh/id_dsa (или id_rsa).
Вы могли скопировать публичный ключ, как это показано на скриншоте выше — он размещён в области, отмеченной цифрой 2. Но вы также можете конвертировать его используя утилиту ssh-keygen.
Опция -y прочитает файл OpenSSH формата с приватным ключом и напечатает в стандартный вывод публичный ключ OpenSSH.
Также с помощью опции -f нужно указать путь до приватного ключа, из которого будет извлечён соответствующий ему публичный ключ:
ssh-keygen -y -f ПРИВАТНЫЙ-КЛЮЧ
Например, приватный ключ помещён в файл id_rsa, тогда команда извлечения из него публичного ключа следующая:
ssh-keygen -y -f id_rsa
Вы можете столкнуться с ошибкой:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "id_rsa": bad permissions
Она означает, что приватный ключ доступен для чтения кому угодно и программа ssh-keygen отказывается работать с ним по этой причине. Чтобы исправить эту ошибку, просто установите на файл с приватным ключом права доступа 600:
chmod 600 id_rsa
Связанные статьи:
- Как исправить «No route to host» SSH в Linux (РЕШЕНО) (100%)
- Как скачивать файлы по SSH (100%)
- Как сервер TigerVNC сделать доступным из вне. Как подключиться к серверу TigerVNC через SSH туннель (100%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Решение проблемы «bash: ifconfig: команда не найдена» (50%)
- Как установить DropBox в Linux (RANDOM - 50%)