Материал просмотрен 48 раз(а)

Привет всем! Обратился ко мне один хороший друг и порекомендовал тему для статьи – настройку авторизации по SSH-ключу на железе Mikrotik. В целях повышения безопасности, разумеется.

Кстати, на правах рекламы, хочу порекомендовать наш магазин сетевого оборудования: antelecs.ru, все эксперименты проводятся именно на микротах с этого магазина. 🙂

Зачем нужна авторизация по SSH

Как зачем? Для повышения безопасности. Во-первых, плюсы SSH-протокола перед Telnet очевидны. Шифрование. Во-вторых, почему именно ключ? Ключевой файл (приватный ключ) при нормальном хранении получить злоумышленнику намного сложнее, чем пароль. Даже ввиду размера. Брут неэффективен от слова “совсем”.

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

При этом не стоит забывать о простых вещах – как минимум переименовать администратора во что-то менее тривиальное, чем “admin”. Отключить лишние сервисы (http, telnet), а сам ssh можно перевесить на другой порт.

Вдобавок впесочить ещё Port Knocking, тогда попасть в ваш Mikrotik злоумышленнику будет куда тяжелее!

Генерируем ключи

Для генерации пары ключей (открытый – публичный и закрытый – приватный) мы воспользуемся утилиткой puttygen.exe, входящей в состав привычного SSH-клиента PuTTY. Главное окно программы выглядит вот так:

Генерируем ключ SSH-2 длиной 2048 бит

Выбираем тип ключа – SSH-2 RSA и длину ключа в битах, я оставил 2048 бит. На выходе, кстати, иногда получается ключ длиной 2047 бит, это не бага, а особенность работы алгоритма RSA – не стоит о ней волноваться.

Кстати, вспомнилось как-то, как на Pascal в институте писал реализацию алгоритма RSA – может быть повторю как-нибудь на страницах нашего сайта, весьма любопытно было.

Итак, нажимаем кнопку “Generate” и начинаем елозить мышью по окну. Не поймите меня буквально 🙂

Происходит процесс генерации ключа

Когда процесс генерации будет завершён, увидим окно подобное этому:

Копируем публичный ключ в формате OpenSSH

Теперь нужно скопировать публичный ключ из поля [1] в произвольный текстовый файл.

Важно. Не пользуйтесь кнопкой “Save public key”, т.к. puttygen сохраняет ключ в своём формате, который плохо совместим с нормальными ssh-сервисами.

А вот приватный ключ мы сохраним нажав на соответствующую кнопку. Итак, на выходе у вас должно получиться 2 файла: публичный ключ, сохранённый из текстового поля и приватный ключ, сохранённый посредством кнопки.

Импортируем ключи в Mikrotik

Входим в Mikrotik любым удобным для нас способом. Я в конкретном примере воспользовался WinBox.

Переходим в раздел Files и перетаскиваем туда публичный ключ!

Загрузили публичный ключ

Теперь нужно добавить этот ключ в разделе “System -> Users”. Переходим на вкладку “SSH Keys” и нажимаем на кнопку “Import SSH Key”.

Добавляем ключ на пользователяВ появившемся окне указываем имя пользователя, которому соответствует данный ключ, а также непосредственно файл ключа (появится выпадающий список). Затем нажимаем кнопку “Import SSH Key” уже в диалоговом окне и всё. Ключ установлен.

Наш ключ добавлен

Входим в систему

Для входа в систему воспользуемся, как я уже упоминал, PuTTY. Создадим новое подключение, указав IP-адрес и порт, затем перейдём на следующую вкладку:

Указываем путь к приватному ключу

Раздел “Connection -> SSH -> Auth”, в поле “Private key file for authentication” добавим наш приватный ключ. Жмём “Open”.

Стандартное предупреждение безопасности

После появления стандартного диалогового окна добавляем ключ в кеш.

В окне терминала введём имя пользователя “dmitry” и сразу (без пароля!) попадаем в консоль Mikrotik.Залогинились в MikrotikДля обеспечения наилучшей безопасности, конечно, хорошо бы использовать пароль на ключ (во время генерации ключа указывается). Но это уже детали!

Всем удачи! Be secure!

Если вам понравилась данная статья – поставьте лайк! Так я буду знать стоит ли писать ещё на данную тематику. Лучшая награда писателя – отклик от читателей. Заранее благодарю.