Вход на сервер с помощью ключей SSH

Зачастую аутентификация на основе ключей намного надежнее, чем вход в удаленную систему при помощи пароля.

Как работает аутентификация на основе ключей?

Аутентификация на основе ключей подразумевает создание пары ключей – закрытого и открытого.

Закрытый ключ находится на клиентской машине, должен быть защищен и храниться в секрете.

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

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

Затем клиентский компьютер посылает серверу соответствующий ответ, благодаря чему сервер понимает, что клиент является законным.

После настройки ключей весь этот процесс осуществляется автоматически в фоновом режиме.

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

SSH-ключи нужно создать на компьютере, с которого нужно установить подключение (как правило, это локальный компьютер).

В командной строке наберите:

ssh-keygen -t rsa

Чтобы принять настройки по умолчанию, нажмите Enter. Ключи будут созданы в ~/.ssh/id_rsa.pub и ~/.ssh/id_rsa.

Перейдите в каталог .ssh, набрав:

cd ~/.ssh

Обратите внимание на права на файлы:

ls -l
-rw-r--r-- 1 demo demo 807 Sep 9 22:15 authorized_keys
-rw------- 1 demo demo 1679 Sep 9 23:13 id_rsa
-rw-r--r-- 1 demo demo 396 Sep 9 23:13 id_rsa.pub

Как можно видеть, права на чтение и изменение файла id_rsa есть только у владельца. Такие привилегии необходимы, чтобы сохранить ключ в секрете.

В то же время, файл id_rsa.pub можно использовать совместно, потому он имеет соответствующие привилегии.

Передача открытого ключа на сервер

Следующая команда скопирует открытый ключ на удаленный сервер:

ssh-copy-id удаленный_хост

Это откроет сессию SSH, для входа в которую нужно ввести пароль.

После введения пароля открытый ключ будет скопирован на сервер, что позволит в следующий раз войти в систему без пароля.

Кількість показів: 3212
14.03.2017

Повернення до списку

Если вам была полезна статья можете отблагодарить автора: