Вместо постоянного ввода пароля при подключении по SSH, можно использовать простое и безопасное решение — использование ключа. Данный вариант безопаснее, так как пароль могут подобрать, чтобы избежать данной ситуации, многие люди выбирают авторизацию по ключу.
Данный способ заключается в том, что Вы формируете 2 ключа: публичный и приватный. Публичный ключ копируется на сервер, к которому выполняется подключение. Приватный ключ хранится на компьютере пользователя. В данном методе ввод пароля не требуется.
При подключении публичный ключ взаимодействует с приватным ключом и открывается доступ к удаленном управлению сервером.
Подключение на Windows
Для удобства будем использовать программу PuTTy. Вместе с ней устанавливается утилита PuTTY Generator, в которой мы будем генерировать публичные и приватные ключи.
- Запускаем программу PuTTY Generator.
- Нажимаем на кнопку Generate.
- Нужно водить курсором мышки по рабочему столу, чтобы сгенерировались ключи.
- Нажимаем на кнопку Save private key, чтобы сохранить приватный ключ на нашем компьютере. Место хранения можно указать любое, месторасположения ключа нужно будет указать в параметрах PuTTY. Данный шаг сделаем позже.
- Копируем публичный ключ и закрываем PuTTY Generator.
Теперь нужно скопировать публичный ключ на сервер. Запускаем программу PuTTY и подключаемся к серверу с помощью пароля. Затем последовательно вводим следующие команды:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
С помощью этих команд мы создаем папку и файл для хранения ключей на нашем сервере. А также выставляем права доступа, чтобы файл мог получить только владелец сервера.
Далее мы копируем публичный ключ в файл authorized_keys. Для этого используем команду nano .ssh/authorized_keys. После ввода команды используем комбинацию клавиш Shift+Insert, чтобы вставить публичный ключ. Далее нажимаем клавиши Ctrl+X, И нажимаем клавишу Y, чтобы сохранить изменения в данном файле. Таким образом мы скопировали публичный ключ на сервер.
Открываем настройки программы PuTTY. Переходим в раздел Connection — SSH — Auth. Нажимаем на кнопку Browse и указываем путь к приватному ключу, который мы ранее сохранили на нашем компьютере.
Теперь для подключения к серверу через SSH достаточно будет указать только логин пользователя и IP-адрес сервера.
Генерирование ключа и подключение на Linux
В данном варианте рассмотрим, как подключиться через SSH ключи на Linux.
1. Открываем терминал на локальном компьютере.
2. Выполняем команду ssh-keygen, чтобы сгенерировать ключи.
3. Нажимаем на Enter, чтобы сохранить ключи.
Появится уведомление о том, чтобы создать кодовую фразу для ключа, это дополнительная мера безопасности: при подключении к серверу будет запрашиваться кодовая фраза, которую будете знать только Вы. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter.
После этого ключи будут успешно сгенерированы. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке ~/.ssh/.
Теперь скопируем публичный ключ на удаленный сервер:
- Открываем терминал
- И выполняем команду ssh-copy-id [email protected], где root — логин для подключения к серверу по SSH, а 109.95.212.20 — IP-адрес сервера.
После выполнения этой команды публичный ключ будет скопирован на сервер. Теперь мы можем подключаться к удаленной машине с помощью логина и IP-адреса — например, ssh [email protected]. Ключи будут сопоставляться автоматически.
Отключение запроса пароля
Если мы попытаемся подключиться к серверу с другого компьютера, где нет ключа, то мы увидим запрос на ввод пароля. Чтобы авторизоваться можно было только по ключу, нужно запретить использования пароля при подключении по SSH.
- Подключаемся по SSH к нашему серверу.
- Выполняем команду nano /etc/ssh/sshd_config.
- Нам нужно найти строку Password Authentication yes и изменяем ее на Password Authentication no.
- Сохраняем изменения и перезапускаем службу SSH командой service ssh restart или systemctl restart ssh.
Авторизация по паролю отключена. Теперь подключиться к серверу можно только с компьютера, на котором сохранен приватный ключ.
Смотрите рейтинг лучших VPS-провайдеров в России, на нашем сайте.
Комментарии ()