Вопросы и ответы — VDSina.ru

Аутентификация с помощью SSH ключей и отключение доступа по паролю

Каким образом настроить доступ на сервер с помощью SSH ключей и отключить аутентификацию по паролю?

06.06.2018 11:08 Сотрудник Михаил Обновлено 07.11.2019 13:30 нет комментариев
06.06.2018 11:08
Ответы на вопрос — 1
Сотрудник Михаил

Что такое аутентификация с помощью SSH ключей, как она работает и для чего используют?

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

Закрытый ключ необходимо очень надежно хранить! Мы крайне рекомендуем в качестве дополнительной меры предосторожности защитить его парольной фразой.

Публичный ключ вы можете добавить в разделе "Мои Серверы", вкладка "SSH-ключи".

 

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-1.png

 

Есть возможность добавить сразу несколько ключей

 

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-2.png

 

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

 

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-3.png

 

Если на своём сервере вы настроили доступ с помощью SSH ключей, то панель автоматически загрузит открытый ключ в файл ~/.ssh/authorized_keys на вашем сервере. Когда пользователь попытается подключиться к серверу с помощью SSH-ключей, то он проверяет клиента на наличие у него закрытого ключа. Таким образом происходит аутентификация.

 

Как сгенерировать ключи?

В Windows это можно сделать с помощью Putty, скачиваем программу и запускаем файл puttygen.exe. Тип ключа выбираем RSA, а длину 2048 бит, нажимаем Generate, при генерации произвольно водим курсором мыши.

 

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-4.png

 

Сохраните сгенерированную пару ключей на компьютере, для этого используйте кнопки Save public key и Save private key. Не забудьте защитить закрытый ключ секретной фразой/паролем (необходимо ввести в поле Key passphrase/Confirm passphrase). Скопируйте сгененированный публичный ключ и вставьте его в соответствующее поле нашей панели управления. Эту же программу используйте в дальнейшем для подключения со сгенерированным ключом.

 

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-5.png

 

В Linux или MacOS откройте терминал и выполните следующую команду

 

ssh-keygen -t rsa

 

Вы увидите следующий ответ компьютера

 

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

 

Вам необходимо нажать на клавишу Enter и ввести фразу/пароль для дополнительной защиты закрытого ключа, система попросит ввести его 2 раза

 

Enter passphrase (empty for no passphrase):

 

После этого ключ будет создан, а на консоль будет сообщение приблизительно такого содержания

 

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bf:9b:79:ca:9f:96:bb:4c:b9:67:e9:e6:4d:1f:30:e1 root@xxx.vdsina.ru
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|             .   |
|            . .  |
|        S    E   |
|         .   .o  |
|          . o. o.|
|         . *+o=oo|
|          B*BOo o|
+-----------------+

 

Чтобы получить открытый ключ вводим в терминале команду

 

cat ~/.ssh/id_rsa.pub

 

Полученный ключ вводим в соответствующее поле нашей панели управления. В дальнейшем вы сможете подключаться со своего ПК к серверу с помощью команды

 

ssh root@[IP-адрес сервера]

 

Дополнительная защита сервера при использовании SSH ключей: отключение парольной аутентификации

ВНИМАНИЕ! Прежде чем выполнять этот пункт обязательно проверьте работу SSH ключей и входа на сервер по ним.

Если у вас вышло подключиться к серверу с помощью SSH-ключей, то в качестве дополнительной меры безопасности можно отключить аутентификацию через пароль. Для этого открываем конфигурационный файл демона SSH /etc/ssh/sshd_config и раскомментируем директиву PasswordAuthentication,  установим ей значение no.

 

PasswordAuthentication no

 

Если используется система Ubuntu 22.04 и выше, система использует директивы для конфигурации SSH в отдельной директории /etc/ssh/sshd_config.d/. Файл 50-cloud-init.conf может перезаписывать настройки основного файла /etc/ssh/sshd_config. Если в этом файле содержится строка PasswordAuthentication yes, то доступ по паролю остаётся активным, даже если в основном конфигурационном файле это запрещено.

Чтобы полностью отключить доступ по паролю, можно удалить или изменить файл /etc/ssh/sshd_config.d/50-cloud-init.conf:

Удалите файл:

sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf

Сохраняем изменения и перезапускаем сервис

 

# Ubuntu/Debian
sudo systemctl restart ssh
# CentOS/Fedora
sudo service sshd restart

 

Обновлено 06 сентября, в 16:39 06.06.2018 11:18

Закрыть окно
Аутентификация
Проверка 2FA
Закрыть окно
Регистрация
На указанный email-адрес будет отправлен пароль
Нажимая кнопку «Продолжить», вы соглашаетесь с политикой обработки персональных данных и условиями публичной оферты
Закрыть окно
Напоминание пароля
Закрыть окно
Напоминание пароля
Закрыть окно
Напоминание пароля
Выход