В этой статье мы расскажем, для чего нужен SSH-ключ, как создать SSH ключ и как добавить SSH ключ на сервер.
SSH-ключ — безопасный способ соединения с сервером. Подключение по SSH с помощью ключа исключает риск, который связан с подбором и взломом вашего пароля.
Для аутентификации используются два ключа: приватный и публичный.
Публичный ключ хранится на сервере в корневом каталоге, а приватный ключ остаётся на локальном компьютере в зашифрованном виде. Каждый раз, когда вы обращаетесь к серверу, происходит сопоставление ключей. Таким образом, отпадает необходимость в авторизации с помощью пароля, и данные от вашего сервера остаются в безопасности.
Работа с SSH-ключами
Чтобы воспользоваться SSH-ключом на облачном сервере, для начала его необходимо создать.
Как создать SSH ключ
Способ создания SSH-ключа зависит от операционной системы, которая установлена на вашем компьютере. Выберите нужную операционную систему и следуйте инструкции:
Как создать SSH ключ в Linux
Сгенерировать ключ в ОС Linux можно с помощью терминала. Для этого:
-
1
Запустите терминал:
- в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал», либо просто нажмите комбинацию клавиш: Ctrl+Alt+T;
- в Xfce (Xubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал»;
- в KDE (Kubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал».
-
2
Введите команду
ssh-keygen
и нажмите Enter.Если команда
ssh-keygen
не найдена, установите пакетopenssh
. -
3
В терминале будет выведено следующее сообщение:
Нажмите Enter, если хотите, чтобы файл был сохранен в директории по умолчанию. Или введите собственные адрес/имя_файла, чтобы ключ был сохранен в нужной вам директории.
-
4
Далее вам будет предложено ввести кодовое слово для дополнительной защиты ключа. Вы можете пропустить данный шаг и нажать Enter.
Если вы укажете кодовое слово, при обращении на сервер оно будет дополнительно запрашиваться и сохраняться на некоторое время. Данный способ позволяет дополнительно защитить ваш приватный ключ.
-
5
После генерации ключа в папке .ssh будут созданы два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ).
В терминале будет отображаться отпечаток сгенерированного ключа:
-
6
Введите команду
cat ~/.ssh/id_rsa.pub
. В терминале откроется файл с вашим публичным ключом:
Как создать SSH ключ в Windows
Пользователям Windows необходимо скачать SSH-клиент PuTTY на официальном сайте (англоязычная версия). В его состав входит специальная программа для генерации ключей PuTTYgen.
-
1
Запустите PuTTYgen и нажмите кнопку Generate:
-
2
Приведите в движение курсор мыши в окне программы для сбора случайных данных. Индикатор загрузки (зелёная полоска) отображает процесс генерации ключа:
-
3
После того как ключ будет создан, программа отобразит информацию с публичным ключом и отпечатком приватного ключа:
- 4 Скопируйте публичный ключ из окна Key и сохраните его на локальном компьютере. Приватный ключ можно сохранить с помощью кнопки Save private key.
Важно: Публичный ключ в формате openSSH можно сохранить, только скопировав его вручную. Ключ, сохранённый с помощью кнопки «Save public key», система Linux не распознаёт.
Как создать SSH ключ в macOS
Обратите внимание
Если у вас уже есть сгенерированный приватный и публичный ключи, перейдите в подраздел Как добавить SSH ключ на сервер.
Сгенерировать ключ в macOS можно при помощи терминала.
- 1 Запустите терминал. Для этого нажмите комбинацию клавиш Command (⌘) + Пробел, введите в поисковой строке Терминал и нажмите Enter.
-
2
Введите команду
ssh-keygen -t rsa
и нажмите Enter: - 3 Чтобы сохранить файл в директории по умолчанию, нажмите Enter.
-
4
Вам будет предложено ввести кодовое слово для дополнительной защиты подключения. Вы можете пропустить данный шаг и нажать Enter. Если вы укажете кодовое слово, оно будет дополнительно запрашиваться при каждом подключении к серверу:
- 5 Повторите пароль или нажмите Enter, если вы пропустили предыдущий шаг.
-
6
После успешной генерации ключа будет создано два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). В терминале будет отображаться отпечаток ключа и его изображение:
После создания SSH-ключа вы можете добавить его на сервер с помощью инструкций ниже.
Как добавить SSH ключ на сервер
Если вы уже создали облачный сервер, то добавить SSH-ключ можно только на самом сервере, через подключение по SSH.
Чтобы добавить созданный SSH-ключ на существующий сервер, выберите операционную систему, которая установлена на вашем компьютере, и следуйте инструкции:
Linux
-
1
Запустите терминал:
- в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал», либо просто нажмите комбинацию клавиш: Ctrl+Alt+T;
- в Xfce (Xubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал»;
- в KDE (Kubuntu): «Главное меню» — «Приложения» — «Система» — «Терминал».
-
2
Введите команду:
ssh-copy-id root@123.123.123.123
,где root — логин вашего сервера,
123.123.123.123 — IP-адрес сервера. Его можно узнать в информационном письме, которое было отправлено вам после создания сервера.
-
3
Нажмите Enter и введите пароль от вашего сервера.
После успешного подключения ваш ключ будет добавлен на сервер и вы сможете подключаться к серверу без обязательного ввода пароля.
Windows
Все действия нужно выполнять на сервере через подключение по SSH с помощью SSH-клиента PuTTY.
-
1
Создайте папку .ssh с помощью команды
mkdir .ssh
. -
2
Измените права доступа к папке с помощью команды
chmod 700 .ssh
и перейдите в неё с помощью командыcd .ssh
. -
3
Создайте файл с вашим публичным ключом при помощи команды
echo your_public_key authorized_keys
. -
4
Добавьте ваш приватный ключ в PuTTY:
macOS
- 1 Запустите терминал. Для этого нажмите комбинацию клавиш Command (⌘) + Пробел, введите в поисковой строке Терминал и нажмите Enter.
-
2
Введите команду:
ssh-copy-id user@123.123.123.123
,Где:
- user — имя пользователя;
- 123.123.123.123 — IP-адрес сервера. Его можно узнать в информационном письме, которое было отправлено вам после создания сервера.
- 3 Нажмите Enter и введите пароль от вашего сервера. После успешного подключения ваш ключ будет добавлен на сервер и вы сможете подключаться к серверу без обязательного ввода пароля.
После добавления SSH-ключа вы можете подключиться к вашему серверу по SSH без ввода пароля.
Как добавить SSH-ключ при создании или переустановке облачного сервера
Добавление SSH-ключа через панель управления облачными серверами возможно только при создании сервера или переустановке.
При добавлении SSH-ключа через панель облачных серверов ключ будет добавлен для root пользователя.
Как добавить ключ при создании сервера
- 1 При создании сервера нажмите на кнопку Новый SSH-ключ.
-
2
Придумайте и введите название SSH-ключа. В поле SSH-ключ вставьте ваш публичный ключ и нажмите Добавить SSH-ключ:
- 3 Выберите добавленный ключ и нажмите Заказать сервер.
Готово, после создания сервера ваш ключ будет добавлен на сервер. Созданный ключ будет отображаться на вкладке «Настройки»:
Как добавить ключ при переустановке сервера
Перейдите в панель управления облачными серверами и следуйте инструкции:
-
1
Выберите сервер. Нажмите на кнопку Переустановить образ:
-
2
На этапе переустановки системы нажмите Добавить SSH-ключ:
-
3
Придумайте и введите название SSH-Ключа. В поле SSH-ключ вставьте ваш публичный ключ и нажмите Добавить SSH-Ключ:
-
4
Выберите добавленный ключ и ОС для переустановки, затем нажмите кнопку Переустановить образ:
Готово, после переустановки ваш ключ будет добавлен на сервер. Созданный вами ключ будет отображаться на вкладке «Настройки»:
После добавления SSH-ключа вы можете подключиться к вашему серверу по SSH без ввода пароля.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊