В жизни сетевого инженера (да и не только), наступает такой момент,
когда некоторые рутинные операции надоедает выполнять, и хочется их
оптимизировать. В один прекрасный день я понял, что каждый раз когда мне
нужно авторизоваться на коммутаторе, то набирать логин\пароль, а затем
ещё пароль на enable мне надоело. Поэтому данное действие было решено
как-то оптимизировать. Взяв бутылочку пенного я сел за "работу"..
В компании где я работаю, по определённым обстоятельствам авторизация на
коммутаторах\роутерах\DSLAM и прочем оборудовании происходит не по
ssh, а по telnet. Средствами самого telnet возможности передать
логин\пароль нет, поэтому поиск с попутным распитием алкоголя
продолжился, и остановился на утилите expect.
Expect - это утилита, которая парсит потоковый вывод консольных
программ, и в ответ на них отправляет какой либо заранее предусмотренный
"ответ". Например, при подключении к ftp серверу, ожидаем получить
запрос на ввод пароля, и при его получении - отправляем его.
Для моей задачи expect подошёл идеально. Да и как оказалось, у одного из
коллег уже был небольшой expect скрипт для этих целей, который, правда,
не совсем подходил мне, но для ознакомления с expect пришёлся весьма
кстати.
Читать дальше →