понедельник, 5 июня 2017 г.

Аутентификация по SSH через ключевую пару

Для соединения с сервером Debian/Ubuntu через SSH можно использовать аутентификацию по паролю, но есть более безопасный метод: аутентификация через пару ключей.
Для этого необходимо сгенерировать ключевую парузакрытый ключ и открытый ключ используя клиентский компьютер и затем загрузить открытый ключ на сервер.
Соединения SSH будут аутентифицироваться на соответствии открытого ключа с закрытым ключом, хранящимся на клиентском компьютере и совсем не обязательно вводить пароль учетной записи (хотя эту опцию можно и оставить).
Аутентификация по паре ключей может защитить от атак взламывания пароля.
  1. Генерируем SSH ключи на клиентском компьютере:
    ssh-keygen
  2. Появится диалог утилиты SSH keygen. Нужно следовать инструкциям на экране (ответить на несколько вопросов). Самое главное ввести правильный ufdn адрес клиента и нажать на Enter при вводе passphrase (если конечно пароль не нужен).
Два файла будут созданы в директории ~/.ssh : id_rsa и id_rsa.pub. Публичным ключом является id_rsa.pub – этот файл позднее необходимо будет загрузить на сервер. Второй файл – private key, закрытый, приватный ключ.
  1. Создаем директорию на сервере для публичного ключа. Она должна быть в домашней директории (/home/yourusername):
    mkdir .ssh
  2. копируем файл /home/yourusername/.ssh/id_rsa.pub на сервер, в файл /home/yourusername/.ssh/authorized_keys:
    scp ~/.ssh/id_rsa.pub hostname_of_server:.ssh/authorized_keys
    Важно: если файл authorized_keys на сервере уже существует, то открытый ключ нужно просто дописать:
    cat ~/.ssh/id_rsa.pub | ssh hostname_of_server "cat >> .ssh/authorized_keys"
    Это позволит использовать несколько ключей для авторизации под одним пользователем, например, если вы хотите авторизоваться с разных машин с разными  ключами.
Ключи SSH сгенерированы, публичный ключ установлен на сервере. Всё готово для использования аутентификация SSH по паре ключей key.

Комментариев нет:

Отправить комментарий