Рассмотрим, как настроить аутентификацию без пароля по ключу на Cisco IOS, чтобы можно было подключаться как из-под Windows, так и из-под Linux.
Содержание:
Что такое PKI
PKI (Public Key Authentication) — метод аутентификации, использующий пару ключей для аутентификации вместо пароля. Существует два вида ключей:
- публичный ключ;
- приватный ключ.
Кто угодно (любое устройство), имеющий публичный ключ, может зашифровать данные, которые могут быть расшифрованы только приватным ключом. Это значит, что публичный ключ может быть передан любому пользователю. И он, в свою очередь, может отправить вам зашифрованное сообщение. Приватный ключ должен быть хорошо защищенным, следите, чтобы он не покинул ваш компьютер.
Сегодня мы создадим публичный и приватный ключи на компьютерах с Windows и Linux. Затем мы добавим публичный ключ к Cisco IOS маршрутизатору и используем его для аутентификации SSH. Маршрутизатор будет отправлять нам зашифрованные сообщения, которые можем расшифровать только мы потому, что у нас есть приватный ключ. Это доказывает, что мы являемся пользователем, который, как мы заявляем, имеет права администратора, то есть может получить доступ к маршрутизатору.
Настройка устройств и создание ключей
Сперва нужно сгенерировать пару ключей RSA — публичный и приватный. Сейчас я покажу, как это сделать на Windows и Linux.
Создание ключей на Windows
PuTTY — один из самых популярных SSH-клиентов для Windows, потому его мы и будем использовать. PuTTY сам по себе не способен генерировать RSA ключи, однако можно использовать PuTTY
После его запуска, вы увидите главный экран программы:
Начальные настройки нам подходят, мы сгенерируем 248 битную пару ключей RSA. Нажмите кнопку Generate и увидите это:
Для генерации случайного ключа PuTTY под аутентификацию, используйте движения вашей мыши. Водите ею, пока ключ не будет с генерирован. Вы увидите его тут:
При закрытии программы ключи пропадут, не забудьте перед этим их сохранить. Также можно опционально добавить комментарий к ключам.
Вы должны тщательно защищать свой приватный ключ, он никогда не должен покидать ваш компьютер. Рекомендуется установить ключевую фразу-пароль для его защиты.
Далее нажмите save public key и save private key кнопки:
Мы будем использовать следующие имена файлов:
- публичный ключ: windows_user.pub
- приватный ключ: windows_user.ppk
Это все, что нам нужно сделать. Но чтобы проверить работу ключей, мы должны сначала настроить наш Cisco IOS маршрутизатор (или коммутатор).
Создание ключей на Linux
В большинстве Linux-дистрибутивов есть встроенный SSH, мы будем использовать Ubuntu для этого примера.
Сперва надо с генерировать 2048 битную пару ключей RSA:
Имена файлов:
- публичный ключ: id_rsa.pub
- приватный ключ: id_rsa
Мы можем просмотреть их тут:
Готово. Теперь пора настроить Cisco IOS маршрутизатор (или коммутатор).
Настройка Cisco IOS
Давайте начнем с базовой настройки SSH. Сначала мы настраиваем имя узла:
А также имя домена:
С генерируем 2048 битную пару ключей RSA:
И включим SSH версии 2:
Настроим линии VTY на прием только SSH и локальной авторизации:
Опционально можно отключить запрос пароля при подключении по SSH
Теперь мы можем добавить сгенерированные нами ранее на Windows и Linux ключи.
Активация ключа, сгенерированого под Windows на устройстве Cisco
Вы можете открыть файл публичного ключа (windows_user.pub) в любом текстовом редакторе. Он будет выглядеть так:
Можно убрать все, кроме самого ключа, тогда это будет выглядеть так:
Можно добавить публичный ключ любому пользователю. Мы назовем этого пользователя WINDOWS_USER. После ввода key-string команды, вводим строки ключа, пока не введем exit:
Теперь наш маршрутизатор знает публичный ключ для пользователя Windows.
Также есть возможность добавить несколько ключей одному пользователю. Тогда к маршрутизатору можно будет подключится под одним пользователем, используя разные пары ключей.
Активация ключа, сгенерированого под Linux на устройстве Cisco
Сделаем то же самое для Linux-пользователя. Сперва откроем ключ:
Ключ выводится одной строкой, это нормально. Но Cisco IOS поддерживает только 254 символа в строке, потому вы не сможете ввести ключ одной строкой. В Linux есть удобная команда, позволяющая разделить ключ на несколько частей:
Можно удалить ssh-rsa в начале и комментарий в конце, получаем вот такой ключ:
Давайте добавим его на маршрутизаторе Cisco, будем использовать имя пользователя LINUX_USER:
Все настройки завершены, давайте проверим работоспособность.
Проверка работоспособности
Сперва проверим WINDOWS_USER пользователя, затем LINUX_USER.
Проверка работоспособности Windows
После добавления ключа на маршрутизаторе, Cisco IOS просчитает хэш ключа:
Можем проверить с генерировал ли PuTTY Key Generator такой же хэш:
Если хэш совпадает, мы ввели все правильно, а значит ключи совпадают. Пора настроить PuTTY. Заходим в PuTTY и открываем Connection > SSH setting.
Нажимаем browse и выбираем файл приватного ключа (windows_user.ppk):
Далее переходим в Connection > Data setting, и вводим тут имя пользователя:
Переходим на главный экран, и, если не хотим потерять настройки, сохраняем сессию кнопкой Save.
Нажимаем Open и видим это:
Отлично, мы подключились к маршрутизатору, используя, RSA ключи.
Проверка работоспособности Linux
Давайте теперь проверим может ли LINUX_USER подключится. Первым делом сравним хэш:
Посмотреть хэш на Linux можно следующей командой:
Хэш совпадает, давайте посмотрим можем ли мы подключится:
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь вы больше знаете о том, как настроить аутентификацию без пароля по ключу на Cisco IOS, чтобы можно было подключаться как из-под Windows так и из-под Linux.
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.