Вы не указали E-mail
Пароль
Вы не указали пароль
На указанный E-mail мы вышлем пароль
Вы не указали E-mail
Нажимая кнопку «Отправить», вы соглашаетесь с политикой обработки персональных данных
Ответный код
Вы не ввели код
Вы не указали E-mail
На указанный E-mail мы вышлем пароль
Вы не указали E-mail
Нажимая кнопку «Отправить», вы соглашаетесь с политикой обработки персональных данных
05.02.2021 09:39
Обновлено: 21.11.2024 13:20
Каким образом настроить доступ на сервер с помощью SSH ключей и отключить аутентификацию по паролю?
ОТВЕТЫ НА ВОПРОС
05.02.2021 15:37
Что такое аутентификация с помощью SSH ключей, как она работает и для чего используют?
Аутентификация с помощью SSH ключей является чрезвычайно безопасным способом входа на сервер. В данном случае используются два криптографических ключа, каждая пара ключей состоит из открытого и закрытого ключа. Открытый ключ можно не опасаясь распространять т.к. он служит для шифрования сообщений, которые можно расшифровать только имея закрытый ключ.
Закрытый ключ необходимо очень надежно хранить! Мы крайне рекомендуем в качестве дополнительной меры предосторожности защитить его парольной фразой.
Публичный ключ вы можете добавить в разделе "Мои Серверы", вкладка "SSH-ключи".
Есть возможность добавить сразу несколько ключей
В дальнейшем, при заказе сервера, вы можете выбрать этот ключ.
Если на своём сервере вы настроили доступ с помощью SSH ключей, то панель автоматически загрузит открытый ключ в файл ~/.ssh/authorized_keys на вашем сервере. Когда пользователь попытается подключиться к серверу с помощью SSH-ключей, то он проверяет клиента на наличие у него закрытого ключа. Таким образом происходит аутентификация.
Как сгенерировать ключи?
В Windows это можно сделать с помощью Putty, скачиваем программу и запускаем файл puttygen.exe. Тип ключа выбираем RSA, а длину 2048 бит, нажимаем Generate, при генерации произвольно водим курсором мыши.
Сохраните сгенерированную пару ключей на компьютере, для этого используйте кнопки Save public key и Save private key. Не забудьте защитить закрытый ключ секретной фразой/паролем (необходимо ввести в поле Key passphrase/Confirm passphrase). Скопируйте сгененированный публичный ключ и вставьте его в соответствующее поле нашей панели управления.
В 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.macloud.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
Проверим не встречается ли опция в других конфигурационных файлах и заменяем аналогично всюду yes на no.
grep -r PasswordAuthentication /etc/ssh/*
/etc/ssh/ssh_config:# PasswordAuthentication yes
/etc/ssh/sshd_config:PasswordAuthentication no
/etc/ssh/sshd_config:# PasswordAuthentication. Depending on your PAM configuration,
/etc/ssh/sshd_config:# PAM authentication, then enable this but set PasswordAuthentication
/etc/ssh/sshd_config.d/50-cloud-init.conf:PasswordAuthentication yes
Сохраняем изменения и перезапускаем сервис
# Ubuntu/Debian
sudo systemctl restart ssh
# CentOS/Fedora
sudo service sshd restart
0 комментариев
Зарегистрируйтесь или Войдите, чтобы комментировать
0 комментариев
Зарегистрируйтесь или Войдите, чтобы комментировать