Как авторизовать SSH по ключу

Как авторизовать SSH по ключу

Автоматическая авторизация по SSH-ключу – отличный способ сделать работу с удаленным сервером более эффективной и удобной. Один раз настроив беспарольный вход, можно значительно облегчить себе администрирование сервера по протоколу SSH, ускорить загрузку файлов через SCP или SFTP и значительно повысить безопасность.

Рассмотрим настройку подключения к серверу adminvps.ru (вместо домена можно использовать IP-адрес 185.219.40.65) для пользователя root с компьютера, на котором установлен любой дистрибутив Linux или Windows с ssh-клиентом Putty.

Настройка автоматической авторизации по SSH-ключу для Linux

Необходимые инструменты присутствуют в любом дистрибутиве Linux, поэтому процесс настройки выглядит одинаково для всех. Для начала необходимо сгенерировать закрытый и открытый ssh-key в каталоге .ssh на локальном компьютере. Если в корне файловой системе отсутствует директория с таким именем, её необходимо создать:

➜ mkdir /root/.ssh

1. Создаём файлы ключей:

➜ ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa

Опции команды ssh-keygen можно посмотреть, запустив её с параметром —help:

➜ ssh-keygen --help

2. Переносим и устанавливаем открытый ssh-ключ на сервер. Если на локальном компьютере установлена программа ssh-copy-id, то для окончательной настройки достаточно выполнить одну команду (на этом этапе ещё придется ввести пароль):

➜ ssh-copy-id -i /root/.ssh/id_rsa.pub root@185.219.40.65

Где имя пользователя по дефолту root и в нашем случае адрес сервера 185.219.40.65
Сразу после этого авторизация по SSH-key должна заработать.

3. Если программа ssh-copy-id на локальном компьютере отсутствует, все настройки можно произвести вручную. Последовательность действий достаточно простая:

3.1. Переносим открытый ключ на сервер:

➜ scp /root/.ssh/id_rsa.pub root@185.219.40.65:/root

3.2. Подключаемся через SSH:

➜ ssh root@185.219.40.65

3.3) Переносим наш ssh-key в хранилище авторизованных ключей, настраиваем права доступа и удаляем файл из корневого каталога:

➜ touch /root/.ssh/authorized_keys
➜ tail /root/id_rsa.pub >> /root/.ssh/authorized_keys
➜ chmod 600 /root/.ssh/authorized_keys
➜ rm /root/id_rsa.pub

4. Проверяем автоматическую авторизацию, запустив на локальной машине команду:

➜ ssh root@185.219.40.65

Сразу после этого в консоли должно появиться приветствие системы, установленной на удаленном сервере.

Но если вам лень, заказывайте у нас администрирование.

Настройка авторизации по SSH-ключу в Putty для Windows

Если Putty отсутствует на вашем компьютере, его можно скачать с официального сайта. В установочный пакет входит несколько программ, среди которых присутствует и сам ssh-клиент Putty, и утилита PuttyGen, генерирующая ssh-ключи. Для начала запускаем PuttyGen и нажимаем Generate.

PuTTY key generator интерфейс

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

Генерация ssh key

Далее публичный ssh-key необходимо перенести на сервер и занести в авторизованные ключи. Приватный ключ нельзя никуда копировать, он должен находиться только на локальном компьютере, на котором был сгенерирован (чтобы сохранить его, необходимо нажать в PuttyGen соответствующую кнопку).

Скопировать сгенерированный ключ

Откройте private key где вы его сохранили.

Открыть в блокноте сохранённый ключ

Или можно сделать по-другому. Для этого запускаем Putty, находим в дереве пункт Auth (Аутентификация) и указываем путь к файлу с приватным ключом.

Возвращаемся к пункту Session (Сеанс), в качестве адреса сервера указываем 185.219.40.65 жмём Open.

Ввести айпи сервера

Вводим root. Если всё сделано правильно, Putty сразу подключится к серверу и залогинится, не запрашивая пароль.

Залогиниться как рут

Подключение ssh можно дополнительно ускорить, введя логин прямо в поле адреса сервера (root@185.219.40.65) и сохранив сеанс. Таким образом, потратив несколько минут на настройку беспарольного доступа, можно сэкономить массу времени на вводе пароля при частых подключениях к серверу.

Что будем искать? Например,VPS-сервер

Мы в социальных сетях