что такое rsa ключи для ssh

Как настроить SSH-ключи

О SSH-ключах

SSH –ключи обеспечивают более безопасный вход на виртуальный выделенный сервер, чем при использовании пароля. Если пароль можно взломать во время атаки методом подбора ключа, SSH-ключи расшифровать таким образом практически невозможно. Создав пару ключей, вы получаете две длинные строки символов: открытый и закрытый ключ. Открытый ключ можно разместить на любом сервере, а потом разблокировать его при помощи клиента, у которого есть закрытый ключ. Когда ключи совпадают, система разблокируется без запроса пароля. Можно усилить безопасность, защитив закрытый ключ идентификационной фразой.

1. Создание пары ключей RSA

Первым шагом является создание пары ключей на клиентской машине:

2. Хранение ключей и идентификационной фразы

После запуска команды Gen Key появится еще несколько вопросов:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Теперь можно нажать «enter», сохраняя файл в домашнем каталоге пользователя (в данном примере используется имя пользователя «demo»).

Enter passphrase (empty for no passphrase):

Использовать фразу-пароль необязательно.

Введение идентификационной фразы имеет свои преимущества: вне зависимости от сложности шифровки, безопасность ключа все же зависит от его видимости другим пользователям. Если защищенный ключевой фразой закрытый ключ попадает в руки неавторизованного пользователя, такой пользователь не сможет войти на объединенную учетную запись до тех пор, пока не подберет фразу-пароль, тем самым давая взломанному пользователю немного дополнительного времени. Единственный недостаток использования фразы-пароля – необходимость вводить ее во время каждого использования ключевой пары.

Весь процесс генерации ключа выглядит следующим образом:

Открытый ключ сейчас размещен в /home/demo/.ssh/id_rsa.pub

Закрытый (идентификационный) ключ находится в /home/demo/.ssh/id_rsa

3. Копирование открытого ключа

Когда пара ключей сгенерирована, нужно поместить открытый ключ на виртуальном сервере, который будет использоваться.

Можно скопировать открытый ключ в файл authorized_keys с помощью команды ssh-copy-id. Убедитесь, что имя и IP-адрес были заменены действительными.

Кроме того, ключи можно ставить при помощи SSH:

/.ssh/id_rsa.pub | ssh user@123.45.56.78 «cat >>

Вне зависимости о того, какую команду вы выбрали, вы должны увидеть что-то вроде:

The authenticity of host ‘12.34.56.78 (12.34.56.78)’ can’t be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘12.34.56.78’ (RSA) to the list of known hosts.
user@12.34.56.78’s password:
Now try logging into the machine, with «ssh ‘user@12.34.56.78′», and check in:

/.ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.

Теперь можно войти на user@12.34.56.78 и пароль не будет запрошен. Тем не менее, если была установлена ключевая фраза,она будет запрошена в этот момент (а также при каждом последующем входе).

4 (Дополнительно). Отключение пароля для root-входа

Когда SSH-ключи скопированы на сервер и войти получается только с их помощью, можно ограничить разрешение root-входа только с помощью SSH-ключей.

Чтоб это сделать, откройте конфигурационный файл SSH:

sudo nano /etc/ssh/sshd_config

В этом файле найдите строку, которая включает PermitRootLogin и измените ее, чтоб убедиться, что пользователи могут подключиться только при помощи SSH-ключа:

Источник

Как подключиться к серверу по SSH с помощью пароля или ключа

SSH — зашифрованный протокол для удаленного управления серверами. Для подключения через него вы можете каждый раз вводить пароль или настроить авторизацию по ключу. Второй вариант безопаснее, но у него есть свои особенности. В этой статье мы рассмотрим оба метода подключения, а вы уже сами выберите, какой способ удобнее.

Проверка службы SSH на сервере

Доступ по SSH обычно можно включить при создании сервера или во время настройки конфигурации. Убедиться в том, что он разрешен, можно через консоль. Она доступна в панели управления сервером.

Например, у меня VDS на Timeweb. Чтобы попасть в консоль, я авторизуюсь по логину и паролю, выданному хостером, выбираю свой сервер в списке VDS и перехожу на вкладку «Консоль».

Чтобы пользоваться консолью, нужно авторизоваться. Логин и пароль для доступа к серверу хостер присылает в письме. Сначала нужно ввести логин и нажать на клавишу Enter. Появится строка Password. В ней необходимо ввести пароль и снова нажать на клавишу Enter.

Важно: в целях безопасности при вводе пароля на экране не отображаются никакие символы, даже привычные звездочки.

После авторизации в консоли можно проверить, запущена ли служба SSH на сервере.

Если служба не активна, добавьте ее самостоятельно. Выполните команду sudo apt install openssh-server и подтвердите установку пакетов.

Кроме того, для подключения вам может понадобиться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, можно на время отключить его командой sudo ufw disable.

Использование пароля

Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:

Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.

После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:

Если вы ввели правильные данные, появится окно консоли, в котором нужно указать логин и пароль для подключения к серверу. При первом запуске также отобразится запрос на добавление устройства в список известных.

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.

Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:

Читайте также:  что делать не чувствую запахов и вкуса заложенность носа

Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.

Источник

igorsmolin

Изучаем и настраиваем SSH аутентификацию по открытому ключу

Коллеги, приветствую. Сегодня мы познакомимся с методом аутентификации по открытым ключам в SSH. Познакомимся с основными принципами и ключевыми понятиями. Разберем несколько способов формирования ключевой пары, а также произведем конфигурацию и подключение к SSH серверу на системах Windows и Linux. Если Вы в своей деятельности часто используете SSH и хотели бы увеличить безопасность подключений, то давайте вместе разбираться как можно применять аутентификацию по ключу на проектах.

Что это такое и зачем это нужно?

Одним из самых распространенных способов аутентификации в наше время является ввод пароля. Пароли мы используем к любым сервисам, в т.ч и для удаленного подключения ssh. Нам всем хорошо понятна концепция парольной аутентификации — просто вводим логин и пароль. Однако подобный способ аутентификации не является безопасным с точки зрения стойкости самого пароля. Все мы люди и не всегда удается держать в голове или под рукой надежные пароли для сервисов с которыми мы взаимодействуем.

Для решения этой проблемы, а также для повышения уровня безопасности может использоваться другой способ аутентификации — по открытому ключу. Даже если мы будем использовать сложный пароль, его стойкость будет все-равно ниже, чем у метода аутентификации по ключу.

Перед тем как мы начнем, нам понадобится немного разобраться в терминах и основных сущностях.

Симметричное и асимметричное шифрование

Мы начнем наше знакомство с понятия симметричного шифрования. Подобный тип появился очень давно. В его основе лежит главный принцип — информация шифруется и расшифровывается одним и тем же ключем.

Асимметричное шифрование противопоставляется симметричному. Этот тип появился в 70-х годах и позволил применять новые подходы, при которых процедуры шифрования и дешифровки информации производятся разными, но взаимосвязанными ключами. Именно на принципе использования разных частей ключей основана аутентификация по открытому ключу.

Ключевая пара

Одним из фундаментальных терминов в асимметричном шифровании является термин ключевой пары. Фактически он представляет собой совокупность открытой и закрытой частей ключа. Эти части математически связаны между собой таким образом, что открытой частью можно зашифровывать информацию, а закрытой частью расшифровывать.

Обратите внимание, что мы можем передавать открытую часть ключа по незащищенным каналам связи, не боясь компрометации закрытой части. При этом из открытой части нет возможности получить закрытую часть. В этом и заключается его функция и главное отличие от симметричного ключа, получение которого третьими лицами означает возможность доступа к зашифрованной информации.

Применение на практике

Теперь, после небольшой теории, давайте попробуем применить полученную информацию на более реальных задачах. Для возможности аутентификации по открытому ключу нам будет необходимо сгенерировать ключевую пару о которой мы говорили чуть ранее на стороне клиента. В этой статье мы рассмотрим несколько популярных способов формирования ключевой пары при помощи инструментов PuTTY и ssh-keygen.

Также нам будет необходимо установить и сконфигурировать SSH сервер. В качестве примера мы возьмем популярный проект — OpenSSH Server, который доступен для установки на различных операционных системах в т.ч — Windows и Linux.

Настройка доступа по ключам

Разворачиваем виртуальную машину

Для целей тестирования предлагаю создать небольшой тестовый стенд из одной виртуальной машины. Для автоматизации этого процесса можно скачать или склонировать репозиторий на GitHub и выполнить предварительные шаги по установке.

Этот репозиторий позволяет разворачивать виртуальные машины автоматически, без ручных действий, по заранее сформированному алгоритму.

Когда предварительные действия будут выполнены, перейдите в папку сценария Localhost_1.2 для развертывания CentOS, либо в папку Localhost_1.3 для развертывания Ubuntu, либо в папку Localhost_1.0 для развертывания Windows Server и выполните команду:

Тестовый стенд будет развернут автоматически, пока что можно выпить чашечку чая или кофе. Конечно, вам никто не мешает развернуть это любым другим удобным способом.

Спустя время, виртуальная машина будет готова и мы сможем подключиться к ней либо через менеджер виртуальных машин VirtualBox, либо при помощи ssh подключения по адресу 127.0.0.1:2222.

В качестве учетной записи для подключения указываем — vagrant. Пароль — vagrant.

В случае, если была выбрана виртуальная машина на Windows, мы можем подключиться к ней при помощи RDP по адресу 127.0.0.1:33389.

В качестве учетной записи для подключения указываем — Administrator. Пароль — vagrant.

Конфигурация сервера. Установка OpenSSH на Linux

Для установки OpenSSH сервера на CentOS выполним следующую команду:

Итогом должна быть установка, обновление или сообщение об актуальности версии OpenSSH. В моем случае установлена актуальная версия инструмента.

Для установки OpenSSH сервера на Ubuntu выполним следующие команды:

Результатом также будут установка, обновление или сообщение об актуальности версии OpenSSH.

Запустим службу sshd выполнив команду:

Конфигурация сервера. Установка OpenSSH на Windows

Компонент OpenSSH Server доступен в Windows из коробки начиная с версии Windows 10 1809 и Windows Server 2019. Для быстрой установки откроем Powershell от имени администратора и введем команду:

Будет запущен процесс установки компонента OpenSSH Server.

В дополнение к вышеуказанной команде выполним еще пару команд. Запустим службу sshd и выберем тип запуска — Автоматический.

Создадим разрешающее правило в Firewall Windows.

Конфигурация клиента. Формирование ключевой пары на Windows (PuTTYgen)

Сначала попробуем сгенерировать ключевую пару при помощи PuTTY. Для этого нам достаточно скачать инструменты PuTTY и PuTTYgen с официального сайта — https://www.putty.org/.

Инструмент PuTTY нам понадобится для ssh подключения чуть позже, а с помощью PuTTYgen мы сможем сформировать ключевую пару прямо сейчас.

Запустим PuTTYgen и выберем Generate. Все остальные настройки можно оставить по умолчанию.

Далее водим по рабочему столу указателем мыши для формирования ключевой пары. В итоге перед нами появится такое окно.

Поздравляю, мы успешно сгенерировали ключевую пару при помощи PuTTYgen. Сохраним закрытую часть ключа в виде файла при помощи кнопки Save private key в надежное место. PuTTYgen спросит нас о том хотим ли мы пропустить создание ключевой фразы для закрытой части. В нашем случае мы соглашаемся и отвечаем — Да.

Читайте также:  что значит в инстаграмме подписки и подписчики

Не закрывая окно PuTTYgen переходим в раздел Public key for pasting into OpenSSH authorized_keys file и копируем из него все содержимое. Эта информация нам понадобится на этапе добавления открытого ключа на SSH сервер.

Конфигурация клиента. Формирование ключевой пары на Linux (ssh-keygen)

Теперь попробуем сгенерировать ключевую пару из под Linux при помощи инструмента ssh-keygen. Для теста воспользуемся Ubuntu.

Выполним команду ssh-keygen. Мастер сообщит нам о начале процедуры генерации ключевой пары. Инструмент также спросит о том, где разместить ключ и будем ли мы использовать ключевую фразу. Оставим все значения по умолчанию и продолжим.

/.ssh должны появиться две части ключа. id_rsa — закрытая часть, id_rsa.pub — открытая часть.

Нам необходимо позаботиться о том, чтобы никто не имел прав доступа кроме нас самих к этим ключам. Для этого выполним команду:

Скопируем открытую часть ключа себе в буфер обмена, т.к нам понадобится добавить эту информацию на сервер в следующем этапе. Для этого выполним команду:

Конфигурация сервера. Разрешение аутентификации по ключу и добавление ключей на Linux.

Возвращаемся на наш сервер. На этом этапе нам необходимо добавить открытую часть ключа для аутентификации пользователя и разрешить аутентификацию по ключу.

После успешного логина добавим скопированную нами открытую часть ключа из предыдущего этапа в файл

Вставляем открытую часть ключа и сохраняем файл.

Фактически, мы только что связали с пользователем открытую часть ключа. У пользователя может быть несколько ключей для аутентификации. Все они должны быть перечислены в этом файле.

Теперь включим возможность аутентификации по ключу и отключим возможность подключения по паролю. Для этого выполним команду:

Или откроем конфигурационный файл /etc/ssh/sshd_config любым удобным редактором.

Находим строку PasswordAuthentication и устанавливаем значение no. Также находим строку PubkeyAuthentication и устанавливаем значение yes.

Для применения конфигурации перезапустим службу OpenSSH сервера выполнив команду:

Конфигурация сервера. Разрешение аутентификации по ключу и добавление ключей на Windows.

Разрешим функцию аутентификации по открытому ключу, запретим вход по паролю. Заодно перезапустим службу sshd для применения конфигурации.

Для этого запустим PowerShell от имени администратора и выполним команду:

Подключение к серверу SSH по открытой части ключа на Windows.

Запустим PuTTY и введем адрес подключения к SSH серверу.

В разделе Connection > SSH > Auth укажем сохраненный файл закрытой части ключа и пробуем подключиться к нашему серверу.

По итогу мы пройдем процедуру аутентификации без указания пароля для учетной записи пользователя.

Результат ssh аутентификации по ключу на сервере CentOS или Ubuntu.

Результат ssh аутентификации по ключу на сервере Windows.

Подключение к серверу SSH по открытой части ключа на Linux.

Выполним подключение к серверу SSH. Для этого запустим на исполнение команду:

По итогу мы пройдем процедуру аутентификации без указания пароля для учетной записи пользователя.

Результат ssh аутентификации по ключу на сервере CentOS или Ubuntu.

Результат ssh аутентификации по ключу на сервере Windows.

Конвертация ключей

В статье использовалась небольшая хитрость, которая может пригодиться в рабочей деятельности.

Представьте простую и вполне реальную ситуацию. Вы сгенерировали ключевую пару и хотели бы распространить ее на других своих устройствах. Проблемой может стать желание перенести ключевую пару на Linux, которая была сгенерирована при помощи PuTTYgen под Windows.

К сожалению, если скопировать такой ключ и попытаться произвести вход на SSH сервер, мы скорее всего получим ошибку: Load key «/root/.ssh/id_rsa»: invalid format, либо подобные.

Это связано с тем, что закрытая часть ключа, генерируемая разными инструментами, будет сформирована в разных форматах. Сама структура файла будет отличаться и для решения проблемы потребуется процедура конвертации.

Самый просто способ — запустить PuTTYgen, загрузить сохраненную закрытую часть ключа при помощи кнопки Load.

Перейти в раздел Conversions и выбрать меню Export OpenSSH key.

Инструмент позволит нам сохранить закрытую часть в формате (PEM), который генерирует ssh-keygen.

Точно таким же методом мы можем производить обратное преобразование из PEM в формат PuTTY. Таким образом, нет необходимости создавать разные сущности ключей, мы сможем использовать одну.

Итоги

Коллеги, сегодня нам удалось познакомиться с методом аутентификации по открытому ключу. Мы узнали не только теоретическую часть, но и попробовали на практике посмотреть на работу этого способа аутентификации на разных системах. Надеюсь, что полученная информация пригодится в ваших существующих и будущих проектах. Если Вам есть, что обсудить или остались какие-либо вопросы, пожалуйста, оставляйте комментарии.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

SSH (ч.4): Создание и настройка ключей OpenSSH

Оглавление

Вход в SSH без пароля (с использованием файлов ключей)

Вход в SSH по публичному ключу (без пароля) очень удобен и безопасен.

Процесс настройки аутентификации по публичному ключу очень простой:

Публичный ключ, который копируется на удалённый сервер, не является секретным. Один и тот же ключ можно использовать на разных серверах. Главное — хранить в секрете приватный ключ.

Сгененировать ключи и скопировать их на удалённый хост можно буквально тремя командами. Для генерации пары ключей используется программа ssh-keygen, она включена в пакет ssh и если SSH у вас уже настроен, то дополнительно устанавливать ничего не нужно.

У программы ssh-keygen много функций и возможностей, начнём с рассмотрения процедуры генерации ключей, которая выполняется элементарно.

Если вы успели залогиниться на удалённой системе, разлогинтесь. После этого наберите:

У нас спрашивают имя файла, не нужно ничего вводить, будет использовано имя по умолчанию. Также спрашивается пароль. Этот пароль позволяет установить дополнительную защиту — при подключении с помощью ключей не будет спрашиваться пароль пользователя, но будет спрашиваться пароль самого ключа. Устанавливать пароль необязательно.

В результате будет создано два файла:

Первый файл нужно хранить в секрете. Второй файл нужно скопировать на удалённый компьютер, где запущен сервер SSH.

Теперь на удалённой машине нам нужно создать каталог .ssh. В предыдущей части мы уже узнали, как выполнять команды на удалённой системе по SSH. Запустите команду вида:

Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину в файл

/.ssh/authorized_keys. Сделать это очень просто (не забываем менять данные на свои):

Теперь выполняем подключение с помощью клиента SSH, но пароль у нас больше спрашиваться не будет.

Типы ключей

Программа ssh-keygen можен генерировать четыре типа ключей:

Чтобы выбрать любой из этих типов, используется опция -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 комментарий

После этой опции укажите комментарий.

Эта опция включает процесс изменений комментария в файлах приватного и публичного ключей. Программа сделает запрос на файл, содержащий приватные ключи, пароль (если он установлен) и затем предложит ввести новый комментарий.

Увидеть комментарий можно с помощью опции -l. Эта опция показывает отпечаток указанного файла публичного ключа. Для RSA и DSA ключей ssh-keygen пытается найти совпадающий файл публичного ключа и вывести его отпечаток. Если совместить с -v, то визуальное художественное представление ASCII будет показано после самого отпечатка:

Файл ключа можно указать явно опцией -f:

Изменение паролей в ssh-keygen

Для работы с паролями имеется несколько опций:

-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 генерируется при экспорте ключей из PuTTY.

Пример файла .ppk:

Для конвертации формата .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 и убедитесь, что для приватного ключа ограничены права записи:

Вы сразу увидите публичный ключ SSH, который вы можете скопировать и вставить в файл.

Теперь в меню перейдите в «Conversions» → «Export OpenSSH key» и сохраните приватный ключ.

Скопируйте ваш приватный ключ в файл

/.ssh/id_dsa (или id_rsa).

Источник

Строительный портал