- Как конвертировать ключи SSH из формата PuTTY в формат OpenSSH
- Как извлечь ключи SSH из .ppk
- Как установить PuTTY в Linux
- Как конвертировать ключи PuTTY (.ppk) в формат OpenSSH
- Извлечение приватного ключа с помощью PuTTYgen в графическом пользовательском интерфейсе
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- Пошаговый ввод в домен Windows 10
- Основные команды cmd в Windows
- Поднимаем контроллер домена на Windows 2008 R2
- Batch: автоматический перенос файлов в Windows
- Настройка фаервола в Windows через PowerShell
- Новый Windows Admin Center. Новые возможности
- 10 крутых вещей, которые можно сделать с помощью Windows PowerShell
- Как сгенерировать ключ SSH в Windows
- Генерация ключа SSH в Windows 10 с помощью OpenSSH Client
- Шаг 1. Проверьте, установлен ли клиент OpenSSH
- Шаг 2. Откройте командную строку
- Шаг 3. Использование OpenSSH для генерации пары ключей SSH
- Генерация ключей SSH с помощью PuTTY
- Шаг 1: Установите PuTTY
- Шаг 2: Запустите генератор ключей PuTTY SSH
- Шаг 3: Используйте PuTTY для создания пары ключей SSH
- Использование ваших ключей SSH
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- SSH (ч.4): Создание и настройка ключей OpenSSH
- Оглавление
- Вход в SSH без пароля (с использованием файлов ключей)
- Типы ключей
- Утилита ssh-keygen
- Как поменять количество битов в ключах ssh-keygen
- Добавление комментариев в ключи ssh-keygen
- Изменение паролей в ssh-keygen
- Показ публичного ключа из приватного
- Управление приватными ключами на клиенте SSH
- Управление публичными ключами на сервере SSH
- Как конвертировать .ppk ключ в OpenSSH ключ
Как конвертировать ключи SSH из формата PuTTY в формат OpenSSH
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 и их производные выполните команду:
В дистрибутивах на основе RPM:
В Arch Llinux, BlackArch и их производных:
Установите Homebrew, затем выполните:
Как конвертировать ключи PuTTY (.ppk) в формат OpenSSH
Поместите свои ключи в какой-нибудь каталог, например ваша домашняя папка. Теперь преобразуйте ключи PPK в пары ключей SSH.
Чтобы сгенерировать закрытый (приватный) ключ:
и чтобы сгенерировать открытый (публичный ключ):
Переместите эти ключи в
/.ssh и убедитесь, что правильно установлены разрешения на приватный ключ:
Извлечение приватного ключа с помощью PuTTYgen в графическом пользовательском интерфейсе
Откройте PuTTYgen, нажмите кнопку «Load» и выберите файл .ppk с ключами.
Вы сразу увидите публичный ключ SSH, который вы можете скопировать и вставить в файл.
Теперь в меню перейдите в «Conversions» → «Export OpenSSH key» и сохраните приватный ключ.
Скопируйте ваш приватный ключ в файл
/.ssh/id_dsa (или id_rsa).
Вы могли скопировать публичный ключ, как это показано на скриншоте выше — он размещён в области, отмеченной цифрой 2. Но вы также можете конвертировать его используя утилиту ssh-keygen.
Опция -y прочитает файл OpenSSH формата с приватным ключом и напечатает в стандартный вывод публичный ключ OpenSSH.
Также с помощью опции -f нужно указать путь до приватного ключа, из которого будет извлечён соответствующий ему публичный ключ:
Например, приватный ключ помещён в файл id_rsa, тогда команда извлечения из него публичного ключа следующая:
Вы можете столкнуться с ошибкой:
Она означает, что приватный ключ доступен для чтения кому угодно и программа ssh-keygen отказывается работать с ним по этой причине. Чтобы исправить эту ошибку, просто установите на файл с приватным ключом права доступа 600:
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
Пошаговый ввод в домен Windows 10
Основные команды cmd в Windows
Поднимаем контроллер домена на Windows 2008 R2
Batch: автоматический перенос файлов в Windows
Настройка фаервола в Windows через PowerShell
Новый Windows Admin Center. Новые возможности
10 крутых вещей, которые можно сделать с помощью Windows PowerShell
Еженедельный дайджест
Как сгенерировать ключ SSH в Windows
OpenSSH и PuTTY
4 минуты чтения
SSH расшифровывается как Secure Shell и представляет собой метод, используемый для установления безопасного соединения между двумя компьютерами.
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
SSH работает путем аутентификации на основе пары ключей, причем закрытый ключ находится на удаленном сервере, а соответствующий открытый ключ — на локальной машине. Когда ключи совпадают, доступ предоставляется удаленному пользователю.
Это руководство покажет вам, как сгенерировать пару ключей SSH в Windows 10, используя OpenSSH или PuTTY.
Генерация ключа SSH в Windows 10 с помощью OpenSSH Client
Шаг 1. Проверьте, установлен ли клиент OpenSSH
Во-первых, проверьте, установлен ли у вас клиент OpenSSH:
1. Войдите в меню Параметры, и затем нажмите Приложения.
2. Во вкладке Приложения и возможности выберите Дополнительные компоненты.
3. Прокрутите список вниз, чтобы увидеть, есть ли в списке клиент OpenSSH.
- Если клиента нет, нажмите знак плюс рядом с Добавить компонент
- Прокрутите список, чтобы найти и выбрать OpenSSH Client.
- Нажмите Установить.
Шаг 2. Откройте командную строку
Нажмите клавишу Windows, в строке поиска введите cmd , в результатах нажните правой кнопкой на значок командной строки и выберите Запуск от имени администратора.
Шаг 3. Использование OpenSSH для генерации пары ключей SSH
1. В командной строке введите следующее:
2. По умолчанию система сохранит ключи в C:\Users\your_username\.ssh\id_rsa . Вы можете использовать имя по умолчанию, или вы можете выбрать более осмысленные имена. Это может помочь различать ключи, если вы используете несколько пар ключей. Чтобы придерживаться опции по умолчанию, нажмите Enter. Если файл с таким именем уже существует, вам будет предложено перезаписать файл.
3. Вас попросят ввести кодовую фразу. Нажмите Enter, чтобы пропустить этот шаг.
4. Система сгенерирует пару ключей и отобразит отпечаток ключа и изображение randomart.
5. Откройте проводник
6. Перейдите к C:\Users\your_username\.ssh .
7. Вы должны увидеть два файла. Идентификация сохраняется в файле id_rsa , а открытый ключ помечается как id_rsa.pub . Это ваша пара ключей SSH.
Обычно открытый ключ идентифицируется расширением .pub . Вы можете использовать Блокнот, чтобы просмотреть содержимое как закрытого, так и открытого ключа.
Генерация ключей SSH с помощью PuTTY
До того, как OpenSSH был включен в Windows, инструмент PuTTY был золотым стандартом для генерации ключей SSH.
Шаг 1: Установите PuTTY
Скачайте PuTTY с оффициального сайта, затем дважды щелкните загруженный файл и следуйте указаниям мастера установки, чтобы завершить установку. Тут все просто, но если что, у нас есть подробное описание как скачать и установить PuTTY
Шаг 2: Запустите генератор ключей PuTTY SSH
1. Откройте меню Пуск
2. Введите puttygen .
3. В результатах щелкните правой кнопкой мыши на PuTTYgen и нажмите Запуск от имени администратора.
Шаг 3: Используйте PuTTY для создания пары ключей SSH
Процесс, описанный ниже, сгенерирует ключи RSA, классический и широко используемый тип алгоритма шифрования. Инструмент PuTTY keygen предлагает несколько других алгоритмов — DSA, ECDSA, Ed25519 и SSH-1 (RSA).
Если вам требуется другой алгоритм шифрования, выберите нужную опцию в разделе Parameters перед созданием пары ключей.
1. В окне PuTTY Key Generator нажмите Generate.
2. Переместите курсор в серое поле, чтобы заполнить зеленую полосу.
3. Сохраните открытый ключ:
- Нажмите кнопку Save public key.
- Выберите место для сохранения ключа.
- Дайте ключу имя (например, putty_key.pub )
4. Сохраните закрытый ключ:
- Откройте меню Conversions наверху.
- Нажмите Export OpenSSH key.
- Вас спросят, хотите ли вы сохранить ключ без ключевой фразы. Нажмите Да.
- Выберите место для сохранения ключа (обычно это та же папка, что и открытый ключ).
- Дайте ключу имя (например, putty_key ).
Использование ваших ключей SSH
Чтобы использовать ваши ключи SSH, скопируйте ваш открытый ключ SSH в систему, к которой вы хотите подключиться. Используйте свой личный ключ SSH в своей системе. Ваш закрытый ключ будет соответствовать открытому ключу и предоставит доступ.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
SSH (ч.4): Создание и настройка ключей OpenSSH
Оглавление
Вход в SSH без пароля (с использованием файлов ключей)
Вход в SSH по публичному ключу (без пароля) очень удобен и безопасен.
Процесс настройки аутентификации по публичному ключу очень простой:
- Командой создаётся пара «публичный ключ — приватный ключ».
- Публичный ключ копируется на компьютер с сервером SSH, то есть на компьютер, к которому будет осуществляться подключение и на котором будут выполнятся команды.
- Затем подключение выполняется обычным способом, но ввод пароля уже не требуется.
Публичный ключ, который копируется на удалённый сервер, не является секретным. Один и тот же ключ можно использовать на разных серверах. Главное — хранить в секрете приватный ключ.
Сгененировать ключи и скопировать их на удалённый хост можно буквально тремя командами. Для генерации пары ключей используется программа ssh-keygen, она включена в пакет ssh и если SSH у вас уже настроен, то дополнительно устанавливать ничего не нужно.
У программы ssh-keygen много функций и возможностей, начнём с рассмотрения процедуры генерации ключей, которая выполняется элементарно.
Если вы успели залогиниться на удалённой системе, разлогинтесь. После этого наберите:
У нас спрашивают имя файла, не нужно ничего вводить, будет использовано имя по умолчанию. Также спрашивается пароль. Этот пароль позволяет установить дополнительную защиту — при подключении с помощью ключей не будет спрашиваться пароль пользователя, но будет спрашиваться пароль самого ключа. Устанавливать пароль необязательно.
В результате будет создано два файла:
Первый файл нужно хранить в секрете. Второй файл нужно скопировать на удалённый компьютер, где запущен сервер SSH.
Теперь на удалённой машине нам нужно создать каталог .ssh. В предыдущей части мы уже узнали, как выполнять команды на удалённой системе по SSH. Запустите команду вида:
Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину в файл
/.ssh/authorized_keys. Сделать это очень просто (не забываем менять данные на свои):
Теперь выполняем подключение с помощью клиента SSH, но пароль у нас больше спрашиваться не будет.
Типы ключей
Программа ssh-keygen можен генерировать четыре типа ключей:
- dsa
- ecdsa
- ed25519
- rsa
Чтобы выбрать любой из этих типов, используется опция -t. В предыдущем примере мы выбрали rsa — явно указывать тип RSA необязательно, поскольку он подразумевается по умолчанию (то есть генерацию ключей можно запустить вообще без опции -t).
В зависимости от выбранного типа, названия созданных файлов ключей могут различаться:
Эти файлы нужно держать в секрете, они должны быть доступны только для владельца.
Соответствующие публичные ключи будут иметь такое же название, но с дополнительным расширением .pub:
Эти файлы не являются секретными, их содержимое нужно скопировать в файл
/.ssh/authorized_keys на компьютер с сервером SSH.
Утилита ssh-keygen
Мы применили ssh-keygen для генерации ключей. Кроме этого она предназначена для управления и конвертации ключей аутентификации для ssh.
Далее рассмотрены только некоторые функции этой программы, с полным перечнем опций можно ознакомиться командой:
Как поменять количество битов в ключах ssh-keygen
Для этого используется опция: -b БИТЫ
Она определяет количество бит в создаваемом ключе. Для ключей RSA минимальный размер составляет 1024 бита, а по умолчанию — 2048 бит. Как правило, 2048 бит считается достаточным. Ключи DSA должны иметь длину 1024 бита, как указано в FIPS 186-2. Для ключей ECDSA флаг -b определяет длину ключа, выбирая один из трёх размеров эллиптической кривой: 256, 384 или 521 бит. Попытка использовать битовые длины, отличные от этих трёх значений, для ключей ECDSA потерпит неудачу. Ключи Ed25519 имеют фиксированную длину, и флаг -b будет игнорироваться.
Добавление комментариев в ключи ssh-keygen
Для работы с комментариями имеется две опции:
-C комментарий
После этой опции укажите комментарий.
-c
Эта опция включает процесс изменений комментария в файлах приватного и публичного ключей. Программа сделает запрос на файл, содержащий приватные ключи, пароль (если он установлен) и затем предложит ввести новый комментарий.
Увидеть комментарий можно с помощью опции -l. Эта опция показывает отпечаток указанного файла публичного ключа. Для RSA и DSA ключей ssh-keygen пытается найти совпадающий файл публичного ключа и вывести его отпечаток. Если совместить с -v, то визуальное художественное представление ASCII будет показано после самого отпечатка:
Файл ключа можно указать явно опцией -f:
Изменение паролей в ssh-keygen
Для работы с паролями имеется несколько опций:
-P парольная фраза
Этой опцией можно передать пароль, чтобы программа его не спрашивала. При смене пароля, этой опцией передаётся старый пароль.
-p
Эта опция вместо создания нового ключа, запускает смену парольной фразы файла приватного ключа. Программа сделает запрос, где размещён файл приватного ключа, затем спросит старый пароль и попросит дважды ввести новую парольную фразу.
-N новый_пароль
Этой опцией можно передать новый пароль, чтобы программа его не спрашивала. При создании ключей можно использовать эту опцию для указания паролей, чтобы программа не спрашивала их в интерактивном режиме.
Файл ключей нужно указать опцией -f:
Показ публичного ключа из приватного
Опция -y прочитает файл OpenSSH формата с приватным ключом и напечатает в стандартный вывод публичный ключ OpenSSH.
Также с помощью опции -f нужно указать путь до приватного ключа, из которого будет извлечён соответствующий ему публичный ключ:
Например, приватный ключ помещён в файл id_rsa, тогда команда извлечения из него публичного ключа следующая:
Вы можете столкнуться с ошибкой:
Она означает, что приватный ключ доступен для чтения кому угодно и программа ssh-keygen отказывается работать с ним по этой причине. Чтобы исправить эту ошибку, просто установите на файл с приватным ключом права доступа 600:
Управление приватными ключами на клиенте SSH
Одну и ту же пару ключей можно использовать для доступа к множеству серверов SSH. Следовательно, на каждом из них (на клиенте и на серверах) может быть по одному ключу. Тем не менее если у вас несколько ключей или если вы хотите использовать другое, не стандартное расположение файлов ключей, то далее показано, как указать расположения в строке команды и в конфигурационных файлах клиента SSH.
В конфигурационном файле клиента SSH для указания пути до приватных ключей используется директива IdentityFile. Её значения по умолчанию:
Как можно увидеть, разрешено использовать тильду для указания на домашнюю папку пользователя.
Можно иметь несколько директив IdentityFile в конфигурационных файлах; все эти идентификаторы будут опробованы по очереди. Множественные директивы IdentityFile добавят кандидатов в очередь для попыток (это поведение отличается от других конфигурационных директив).
Также можно настроить использование определённых идентификационных файлов для определённых хостов:
Для строки команды используется опция -i, после которой нужно указать путь до приватного ключа (файла идентификации). Значение по умолчанию такие же, как и у рассмотренной выше директивы. Опцию -i можно использовать несколько раз.
Управление публичными ключами на сервере SSH
Публичные ключи всех видов размещены в одном файле, значение по умолчанию:
По умолчанию проверяются файлы:
Каждая строка файла содержит один ключ (пустые строки, и строки начинающиеся с ‘#’ игнорируются как комментарии). Публичные ключи состоят из следующих разделённых пробелами полей: опции, тип ключа, ключ в кодировке base64, комментарий.
Поле с опциями является необязательным.
Тип ключа это “ecdsa-sha2-nistp256”, “ecdsa-sha2-nistp384”, “ecdsa-sha2-nistp521”, “ssh-ed25519”, “ssh-dss” или “ssh-rsa”.
Поле комментария ни для чего не используется (но может быть удобным для пользоватетля идентифицировать ключ).
Как конвертировать .ppk ключ в OpenSSH ключ
Ключ .ppk генерируется при экспорте ключей из PuTTY.
Пример файла .ppk:
Конвертация ключей из файла .ppk в формат OpenSSH в Linux
Для конвертации формата .ppk в формат OpenSSH можно использовать утилиту puttygen, которая включена в пакет Putty. Следовательно, нам нужно установить PuTTY
Linux: с вашим менеджером пакетов установите PuTTY (или более минимальный пакет PuTTY-tools):
Debian, Kali Linux, Linux Mint, Ubuntu и их производные:
Дистрибутивы на основе RPM:
Arch Linux, BlackArch и их производные:
OS X: Установите Homebrew, затем запустите
Поместите ваши ключи в какую-нибудь директорию, например, в домашнюю папку. Теперь конвертируем PPK ключи в SSH пару.
Для извлечения приватного ключа:
и для извлечения публичного ключа:
Переместите эти ключи в
/.ssh и убедитесь, что для приватного ключа ограничены права записи:
Конвертация ключей из файла .ppk в формат OpenSSH в Windows
Откройте PuTTYgen, нажмите кнопку «Load» и выберите файл .ppk с ключами.
Вы сразу увидите публичный ключ SSH, который вы можете скопировать и вставить в файл.
Теперь в меню перейдите в «Conversions» → «Export OpenSSH key» и сохраните приватный ключ.
Скопируйте ваш приватный ключ в файл
/.ssh/id_dsa (или id_rsa).