Release Notes
v2.4
Поддержка консоль-серверов (Moxa и аналоги)
Режим -M позволяет работать через консоль-серверы, где подключение двухстадийное: сначала авторизация на самом консоль-сервере, затем логин на устройстве за ним. Для устройства можно задать отдельные логин и пароль через --login-user / --login-pass. Megaconf сам будит «тихую» serial-линию, которая молчит до первого символа, и немедленно прекращает попытки при неверном логине — важно для портов, где повторный вход блокирует учётку.
Парольная SSH-аутентификация на всех версиях OpenSSH
Раньше автоматический ввод пароля требовал OpenSSH ≥ 8.4. Теперь работает на любой версии, включая OpenSSH 7.4 на RHEL/CentOS 7.
Порт на устройство в devices.db
Можно указать порт прямо в списке устройств: host:port, [ipv6]:port. Удобно когда разные устройства доступны на разных портах — например консоль-серверные порты (moxa:4001, moxa:4002).
Live-вывод
--live транслирует вывод сессии в реальном времени вместо одного блока в конце. Включается автоматически в режиме -M — при работе через консоль-сервер это особенно удобно.
Медленная вставка для serial-линий
-S / --slow отправляет ввод посимвольно с задержкой. Нужно для медленных консоль-серверов (Moxa на 9600 бод), где символы теряются при быстрой отправке.
Исправлено
Длинный вывод на JunOS (show version и т.п.) перестал зависать после первой страницы — пагинатор ---(more NN%)--- теперь распознаётся корректно. При подключении к устройству после обновления прошивки (изменился SSH host key) больше не нужно чистить known_hosts.
v2.5
Исправлен критический баг: команды терялись при push конфигурации
При работе через PTY (с v2.4) каждая команда вызывала два промпта вместо одного. Второй промпт оставался в буфере и немедленно «срабатывал» на следующей команде — megaconf отправлял команды быстрее, чем железо успевало их обрабатывать. Результат рапортовался как success, хотя часть команд просто не доходила. Особенно проявлялось при пуше конфигов с длинными строками — хэши паролей, SSH-ключи.
Пароли в debug-режиме
-d больше не печатает пароли открытым текстом в консоль. Вместо содержимого выводится <protected>. Актуально для всех режимов: SSH, Telnet, -M с двухстадийной аутентификацией.
Права на лог-файлы
Файлы -l, -J, -D теперь создаются закрытыми для других пользователей системы. Важно: вывод сессии нередко содержит секреты — хэши паролей, ключи из show running-config.
Выбор конца строки
--eol позволяет явно задать символ конца строки: lf (дефолт для SSH/Telnet), cr (дефолт для -M), crlf (с предупреждением — на большинстве устройств вызывает проблемы), auto (дефолт, выбирает сам по режиму). Полезно когда конкретное железо ведёт себя нестандартно.