Статья от нашего коллеги с дружественного ресурса - litl-admin.ru
Привет всем! Обратился ко мне один хороший друг и порекомендовал тему для статьи – настройку авторизации по SSH-ключу на железе Mikrotik. В целях повышения безопасности, разумеется.
Зачем нужна авторизация по SSH
Как зачем? Для повышения безопасности. Во-первых, плюсы SSH-протокола перед Telnet очевидны. Шифрование. Во-вторых, почему именно ключ? Ключевой файл (приватный ключ) при нормальном хранении получить злоумышленнику намного сложнее, чем пароль. Даже ввиду размера. Брут неэффективен от слова “совсем”.
А если защитить файл приватного ключа паролем, то и вовсе безопасность будет выше.
При этом не стоит забывать о простых вещах – как минимум переименовать администратора во что-то менее тривиальное, чем “admin”. Отключить лишние сервисы (http, telnet), а сам ssh можно перевесить на другой порт.
Вдобавок впесочить ещё Port Knocking, тогда попасть в ваш Mikrotik злоумышленнику будет куда тяжелее!
Генерируем ключи
Для генерации пары ключей (открытый – публичный и закрытый – приватный) мы воспользуемся утилиткой puttygen.exe, входящей в состав привычного SSH-клиента PuTTY. Главное окно программы выглядит вот так:
Выбираем тип ключа – SSH-2 RSA и длину ключа в битах, я оставил 2048 бит. На выходе, кстати, иногда получается ключ длиной 2047 бит, это не бага, а особенность работы алгоритма RSA – не стоит о ней волноваться.
Кстати, вспомнилось как-то, как на Pascal в институте писал реализацию алгоритма RSA – может быть повторю как-нибудь на страницах нашего сайта, весьма любопытно было.
Итак, нажимаем кнопку “Generate” и начинаем елозить мышью по окну. Не поймите меня буквально
Когда процесс генерации будет завершён, увидим окно подобное этому:
Теперь нужно скопировать публичный ключ из поля [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.
Для обеспечения наилучшей безопасности, конечно, хорошо бы использовать пароль на ключ (во время генерации ключа указывается). Но это уже детали!
Всем удачи! Be secure!
Если вам понравилась данная статья – поставьте лайк! Так я буду знать стоит ли писать ещё на данную тематику. Лучшая награда писателя – отклик от читателей. Заранее благодарю.