Автоматическая авторизация по 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.
Чтобы ключ был сгенерирован на основе действительно случайного массива данных, программа просит нас подвигать мышкой. Прогресс генерации отображается на соответствующем индикаторе, расположенном в том же окне.
Далее публичный ssh-key необходимо перенести на сервер и занести в авторизованные ключи. Приватный ключ нельзя никуда копировать, он должен находиться только на локальном компьютере, на котором был сгенерирован (чтобы сохранить его, необходимо нажать в PuttyGen соответствующую кнопку).
Откройте private key где вы его сохранили.
Или можно сделать по-другому. Для этого запускаем Putty, находим в дереве пункт Auth (Аутентификация) и указываем путь к файлу с приватным ключом.
Возвращаемся к пункту Session (Сеанс), в качестве адреса сервера указываем 185.219.40.65 жмём Open.
Вводим root. Если всё сделано правильно, Putty сразу подключится к серверу и залогинится, не запрашивая пароль.
Подключение ssh можно дополнительно ускорить, введя логин прямо в поле адреса сервера (root@185.219.40.65) и сохранив сеанс. Таким образом, потратив несколько минут на настройку беспарольного доступа, можно сэкономить массу времени на вводе пароля при частых подключениях к серверу.