?????????? ?? 1??1?
?????????? ?? 1??1?
?????????? ?? 1??1?
?????????? ?? 1??1?
?????????? ?? 1??1?

Содержание

Ключи SSH помогают повысить уровень безопасности вашего сайта. Обычно SSH-соединение (Secure Shell) устанавливается между клиентом и сервером. Это соединение подтверждается паролем. Нельзя сказать, что пароли уже давно небезопасны. Подбор паролей на SSH-сервере очень прост, используя разные комбинации паролей. Как вы думаете, сколько времени потребуется хакеру, чтобы попытаться ввести пароль из 8 цифр? В суперкомпьютере это были бы считанные минуты, в обычной машине, использующей свой графический процессор, это вопрос дней. Это означает, что пароли представляют собой уязвимость системы безопасности. Но не волнуйтесь, есть способ избежать использования паролей. Ключи SSH

Что такое SSH-ключ?

Ключ SSH - это зашифрованный ключ, состоящий из ПУБЛИЧНОГО КЛЮЧА и ЧАСТНОГО КЛЮЧА. Этот метод работает через шифрование RSA, где открытый ключ доступен для всех, чтобы зашифровать данные, но только закрытый ключ может расшифровать эти данные. По крайней мере на данный момент. Вы можете технически расшифровать закрытый ключ, но это займет у вас пару лет, что немного безопаснее, чем пароль. Обычно мы видим такое шифрование между нашим браузером и Интернетом. У вас есть доступ к публичному ключу сервера, который, в свою очередь, шифрует ваши данные. Но расшифровать его нельзя. Это называется односторонним шифрованием.

Создание ключа SSH

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

ls -l ~ / .ssh / id _ *. pub

Это сообщит вам, есть ли какие-либо сгенерированные в настоящее время ключи, если результат возвращается как: Данные / файлы не найдены, вы можете использовать уже сгенерированный ключ или создать свой собственный.

Теперь давайте сгенерируем ключ со следующим кодом:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Обязательно замените свой адрес электронной почты. Теперь нажмите Enter, вам будет предложено создать кодовую фразу. Это добавляет дополнительный уровень безопасности, хотя и не является обязательным. Вы увидите следующий результат:

Введите кодовую фразу (пусто, если кодовая фраза отсутствует):

Ваш результат будет похож на этот

вывод командной строки

Теперь ты можешь бежать

ls ~ / .ssh / id_ *

Выход будет

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Примечание. До сих пор все это генерировалось на вашем компьютере, а не на сервере. Это важно, потому что следующая команда свяжет вашего пользователя с ключом SSH.

Связывание ключа с пользователем

ssh-copy-id имя_пользователя @ IP-адрес_сервера

Вам будет предложено следующее:

remote_username @ server_ip_address пароль:

После аутентификации содержимое ~ / .ssh / id_rsa.pub будет скопировано в ~ / .ssh / authorized_keys. Вы также можете просто выполнить следующие команды, если не можете выполнять команды, упомянутые ранее.

На сервере выполните эту команду:

кот ~ / .ssh / id_rsa.pub | ssh имя_пользователя @ ip_адрес_сервера "mkdir -p ~ / .ssh && chmod 700 ~ / .ssh && cat >> ~ / .ssh / authorized_keys && chmod 600 ~ / .ssh / authorized_keys"

Отключение входа по SSH с паролем

ssh sudo_user @ server_ip_address sudo nano / etc / ssh / sshd_config

Найдите следующие строки и измените их следующим образом:

PasswordAuthentication нет ChallengeResponseAuthentication нет UsePAM нет

Наконец запустить

sudo systemctl перезапустить ssh

Теперь тебе хорошо идти.