Новости, акции и скидки для нынешних и будущих клиентов, инструкции по настройке сайта и сервера, лайфхаки

25 Января 2024
Технологии

Что такое SSH

Что такое SSH-ключ: генерация и авторизация

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

Определение SSH-ключей и их основная функция

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

post img

Публичные и приватные SSH-ключи

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

 

Публичный SSH-ключ, как становится ясно из его названия, доступен всем, и используется непосредственно для шифрования данных при обращении к серверу. Открытый ключ SSH после генерации отправляется на нужный сервер и размещается в файле authorized_keys. Так как открытый ключ SSH – это лишь «замок», переживать о том, что он может попасть в распоряжение злоумышленников не стоит – без «ключа» в виде приватного SSH от него все равно ничего не добиться и никакой выгоды не извлечь.

 

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

 

Генерация SSH-ключей

Узнав подробнее о видах SSH-ключей, перейдем к следующему важному этапу – это создание SSH-ключа.

 

Итак, как создать SSH-ключ? Генерация SSH-ключа как процесс различается для разных видов операционных систем.

 

post img

Для OC на базе Linux сгенерировать SSH-ключ можно с помощью терминала, а именно:
•    Запустите терминал:
в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал» или введите комбинацию Ctrl+Alt+T;
в Xfce (Xubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал»;
в KDE (Kubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал».
•    Введите команду ssh-keygen и нажмите Enter. А в случае, когда ssh-keygen не обнаруживается автоматически, установите пакет openssh.
•    Нажмите Enter, если хотите, чтобы файл был сохранен в директории по умолчанию. Или введите собственные адрес/имя_файла, чтобы ключ был сохранен в другой конкретной директории.
•    Вам предложат ввести кодовое слово для дополнительной защиты ключа. Вы можете пропустить данный шаг и нажать Enter. Для дополнительной безопасности стоит указать кодовое слово, но важно помнить, что при обращении на сервер оно будет дополнительно запрашиваться и сохраняться на некоторое время.
•    После генерации ключа в папке .ssh будут созданы два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). В терминале будет отображаться отпечаток сгенерированного ключа.
•    Введите команду cat ~/.ssh/id_rsa.pub . В терминале откроется файл с вашим публичным ключом
 

Для OC Windows генерация SSH-ключа осуществляется следующим образом:
•    Вам необходимо скачать SSH-клиент PuTTY на официальном сайте https://www.putty.org/. Это необходимо, потому что в его состав входит специальная программа для генерации ключей PuTTYgen.
•    Следующий шаг – запустите PuTTYgen и нажмите кнопку Generate.
•    Сдвиньте свой курсор в окне программы для сбора случайных данных. Индикатор загрузки отображает процесс генерации ключа.
•    После того как ключ будет создан, программа отобразит информацию с публичным ключом и отпечатком приватного ключа.
•    Скопируйте публичный ключ из окна Key и сохраните его на локальном компьютере. Приватный ключ можно сохранить с помощью кнопки Save private key.
 

Для устройств на базе macOS снова используем терминал:
•    Запустите терминал, нажав Command (⌘) + Пробел, введите в поисковой строке Терминал и нажмите Enter.
•    Введите команду ssh-keygen -t rsa и нажмите Enter.
•    Чтобы сохранить файл в директории по умолчанию, нажмите Enter.
•    Вам предложат ввести кодовое слово для дополнительной защиты подключения. Вы можете пропустить данный шаг и нажать Enter. Мы же настоятельно рекомендуем не пренебрегать этой мерой безопасности, но помнить, что кодовое слово будет дополнительно запрашиваться при каждом подключении к серверу.
•    Повторите пароль или нажмите Enter, если вы пропустили предыдущий шаг.
•    После успешной генерации ключа будет создано два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). В терминале будет отображаться отпечаток ключа и его изображение.

 

Использование SSH-ключей для авторизации

Осуществить SSH подключение по ключу также достаточно просто. Как мы говорили ранее, необходимо добавить публичный ключ на нужный сервер. Сам процесс также зависит от используемой вами OC.

 

post img

Для Linux-подобных систем процесс происходит так:
•    Запустите терминал:
•    Введите команду: ssh-copy-id root@123.123.123.123,

где root — логин вашего сервера,
123.123.123.123 — IP-адрес сервера. Его можно узнать в информационном письме, которое было отправлено вам после создания сервера.
•    Нажмите Enter и введите пароль от вашего сервера. После успешного подключения ваш ключ будет добавлен на сервер, и вы сможете подключаться к нему без обязательного ввода пароля.

 

Для ОС Windows
•    Все действия нужно выполнять на сервере через подключение по SSH с помощью SSH-клиента PuTTY.
•    Создайте папку .ssh с помощью команды mkdir .ssh.
•    Измените права доступа к папке с помощью команды chmod 700 .ssh и перейдите в неё с помощью команды cd .ssh.
•    Создайте файл с вашим публичным ключом при помощи команды echo your_public_key authorized_keys.
•    Добавьте ваш приватный ключ в PuTTY:

 

Для macOS
•    Запустите терминал. Для этого нажмите комбинацию клавиш Command (⌘) + Пробел, введите в поисковой строке Терминал и нажмите Enter.
•    Введите команду: ssh-copy-id user@123.123.123.123, где:
user — имя пользователя;
123.123.123.123 — IP-адрес сервера. Его можно узнать в информационном письме, которое было отправлено вам после создания сервера.
•    Нажмите Enter и введите пароль от вашего сервера. После успешного подключения ваш ключ будет добавлен на сервер и вы сможете подключаться к серверу без обязательного ввода пароля.

 

Настройка и управление SSH-ключами в Rusonyx

Мы ценим ваш комфорт и ваше время, поэтому на облачных серверах Rusonyx вам доступна SSH авторизация по ключу. Однако мы ставим в приоритет и безопасность ваших проектов, поэтому убедительно рекомендуем добавлять кодовое слово при генерации приватного ключа, чтобы ssh доступ по ключу был максимально защищенным.