Главная страница » SSH авторизация по сертификатам через Putty

SSH авторизация по сертификатам через Putty

by Belfigor
257 views
SSH без паролей. Межсерверное взаимодействие. Настройка безопасности SSH. SSH авторизация по сертификатам через Putty

SSH авторизация по сертификатам – способ повысить безопасность ваших серверов. Потому что необходимость вводить пароль – одно из наиболее уязвимых мест любой системы безопасности. Как с этим бороться? Отключить парольную авторизацию! Вместо неё мы будем использовать ssh авторизацию по сертификатам. Система при авторизации будет ожидать доверенный сертификат и без него дальнейшее взаимодействие с ней будет невозможно. Злоумышленнику, для доступа к серверу сначала нужно будет завладеть этим сертификатом.

Так же авторизация без пароля необходима при настройке доверительных отношений между серверами. Например при репликации SysVol. Да и в принципе, валидная авторизация без постоянного ввода логина и пароля на мой взгляд упрощает жизнь.

Putty – SSH авторизация по сертификатам

Генерируем ключи с помощью ssh-keygen

Для начала необходимо сгенерировать ключи с помощью команды

ssh-keygen

Выполнять данную команду надо без sudo и под тем пользователем, для которого вам необходимо реализовать авторизацию через ssh без пароля. Sudo можно использовать если настраивается доступ для рута. Но в этом случае я бы использовал sudo su.

ssh-keygen предложит вам папку по умолчанию, в которую сохранит ключи. В обычной ситуации стоит оставить этот путь.

Когда ssh-keygen предложит ввести пароль для файла ключей, поле необходимо оставить пустым. Введение пароля хоть и увеличит безопасность и без того надёжного способа авторизации, придётся вводить этот пароль каждый раз. Это излишняя мера для авторизации внутри сети. Но в случае если SSH порт сервера доступен из публичной сети, этот способ может оказаться очень кстати.

В конце ssh-keygen покажет куда сохранены открытый и закрытый ключи, отпечаток ключа и рандомную картинку ключа.

SSH авторизация по сертификатам через Putty

SSH авторизация по сертификатам через Putty

Теперь необходимо установить открытый ключ на наш сервер. Используем для этого ssh-copy-id

Устанавливаем ключи с помощью ssh-copy-id

Утилита используемая для доставки ключей на удалённые хосты. Можно применить её на текущий хост указав localhost вместо имени или адреса сервера к которому подключаемся

ssh-copy-id adminguideru@localhost

Если ssh отпечаток системе не знаком, она попросит подтвердить намерения подключения. Пишем yes.
Когда утилита запросит пароль от учётной записи в которую мы пытаемся скопировать ключи, вводим его.

Если всё прошло успешно, мы увидим предложение попробовать авторизоваться в системе по ключу с помощью команды

ssh adminguideru@localhost

Если авторизация прошла успешно, мы увидим как запустится консоль сервера. Так как в данном случае мы подключаемся с текущего сервера на него же, какого-либо практического смысла, кроме как для теста, это действие не имеет.. Просто введите exit чтобы разорвать данное “виртуальное” ssh подключение и вывалиться в свою исконную сессию.

Экспортируем закрытый ключ

cat /home/adminguideru/.ssh/id_rsa

Данная команда выведет на экран содержимое файла id_rsa содержащего закрытый ключ. Его целиком нужно скопировать в текстовичёк и сохранить на диске.

Импортируем закрытый ключ в PuTTY

PuTTY – прекрасный и наверное самый лучший SSH клиент для масдая. Который работает без нареканий и обладает всем необходимым функционалом. Бесплатный. Всё в нём хорошо. Но именно на этом поприще они решили отличиться и добавить чуть-чуть геморроя в процесс.

Вместе с PuTTY поставляется утилита PuTTYgen (PuTTY Key Generator).

  1. Запускаем PuTTYgen
  2. Нажимаем кнопку Load
  3. Тип файлов выбираем All Files, выбираем свой текстовичок
  4. Видим сообщение об успешном импорте ключа. При желании можно указать комментарий ( Key comment)
  5. Жмём кнопку Save private key, соглашаемся с отсутствием пароля у ключа
SSH авторизация по сертификатам через Putty - Сохранение сертификатов

SSH авторизация по сертификатам через Putty – Сохранение сертификатов

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

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

Переходим в Connection -> SSH -> Auth и нажав кнопку Browse выбираем свой только что созданный файл с закрытым ключём.

После нажатия кнопки Open система попросит вас ввести логин пользователя под которым мы пытаемся авторизоваться.

Чтобы заходить даже без ввода логина, достаточно указать этот логин в Connection->Data в поле Auto-login username

После этого двойным нажатием на сохранённую в PuTTY сессию вы будете в одно мгновение залетать в консоль. Ввод пароля теперь будет требоваться только для работы с sudo

SSH авторизация по сертификатам – Отключаем вход по паролю

Если вы 10 раз всё проверили и убедились что вас пускает по сертификату, остаётся отключить возможность авторизации на сервере с помощью пароля. Открываем на редактирование конфиг sshd

sudo nano /etc/ssh/sshd_config

Раскомментируем строку PasswordAuthentication установив значение на no

PasswordAuthentication no

Перезапускаем ssh и sshd

systemctl restart ssh sshd

Ещё больше интересного контента в моём блоге в Zen и на моём канале YouTube. Подписывайтесь на канал, ставьте лайки, делайте репосты, это поможет развитию контента проекта AdminGuide.Ru

Text.ru - 100.00%

You may also like

2 комментария

SitBit29.01.2021 - 13:35

Здравствуйте.
Заранее прошу прощения, не знал куда написать просто.
Вопрос по возможным темам.
Планируется ли что то по теме Andible
И вопрос по нескольким HASP ключам на одном сервере, возможно ли на одном сервере несколько ключей, если да то как?

Reply
Belfigor30.01.2021 - 07:36

По Ansible да планируется, но не раньше мая. Техподдержка 1С когда я задал подобный вопрос сказала что нет. Невозможно. Менеджер лицензий будет видеть только 1 хасп одновременно. Так что теоретически проблему можно решить только установив на физическую машину гипервизор, создав внутри несколько ОС, каждая из которых будет иметь свой хасп сервер, и в каждую из которых будет прокинут ключ. Насколько я знаю, VMWare Workstation Pro for Linux должна без проблем давать пробрасывать USB девайсы в виртмашины. C esxi уже могут быть проблемы но я постараюсь в феврале добраться до своего физического стенда потестить на простых флешках. То есть хаспу необходимо сохранить принцип “Одна ОСь – один ключ”.
А писать можно куда угодно, я в среднем минимум 1 раз в сутки просматриваю все площадки (лучшее в дзен, для рейтинга :))

Reply

Leave a Comment