Получение "ошибки flogin: Ошибка: истекло время ожидания" при добавлении переключателей Brocade в Rancid

Я настроил Rancid на своей системе Ubuntu 14.04 для пары устройств, которые работают нормально, за исключением всех устройств типа "Foundry" (Brocade). Каждый час задание cron выполняет прогорклый прогон от имени прогорклого пользователя. Я протестировал оба flogin в качестве двоичных сценариев входа в систему.

flogin

Вот что я вижу в каждом журнале:

<switch>: End of run not found 0 || 0
<switch> flogin error: Error: TIMEOUT reached
<switch>: missed cmd(s): show version,show flash,show module,write term,show running-config,show chassis
<switch>: End of run not found

Мой файл.clogin, кажется, в порядке:

rancid@ubuntu14.04:~$ cat /home/rancid/.cloginrc 
add autoenable * 1
add method * ssh
add user * rancid
add password * Jg278edd.fisd%1y

SSH'ing к коммутаторам работает нормально. Но запуск сценария flogin вручную дает мне следующее:

rancid@ubuntu14.04:/var/lib/rancid/bin$ ./flogin -c 'show version' <switch>
s0.nikhef.nl
spawn ssh -c 3des -x -l rancid s0.nikhef.nl
rancid@s0.nikhef.nl's password: 
SSH@s0.nikhef.nl>
Error: TIMEOUT reached

Для входа требуется около 10 секунд, и после этого кажется, что он не выполняет команду, указанную после флага -c. И еще через 10-20 секунд он выходит после того, как достигнет значения TIMEOUT Rancid.

clogin

Этот скрипт работает просто отлично... (но он не переходит в режим exec, он игнорирует autoenable 1)..

rancid@ubuntu14.04:/var/lib/rancid/bin$ ./clogin -c 'show version' <switch>
<switch>
spawn ssh -c 3des -x -l rancid <switch>
rancid@<switch>'s password: 
SSH@<switch>>
SSH@<switch>>terminal length 0
Invalid input -> terminal length 0
Type ? for a list
SSH@<switch>>terminal width 132
Invalid input -> terminal width 132
Type ? for a list
SSH@<switch>>show version
 SW: Version 04.2.00b Copyright (c) 1996-2010 Brocade Communications Systems, 
...

SSH@<switch>>exitConnection to <switch> closed by remote host.
Connection to <switch> closed.

Итак, я решил, почему бы не заменить код flogin на код clogin и все будет хорошо, верно? Ручное тестирование подтвердило это, но прогон прогона проги не получил конфигов, а просто показывает это в логах:

<switch>: End of run not found 0 || 0
<switch>: missed cmd(s): show chassis,show running-config,write term,show flash,show version,show module
<switch>: End of run not found

Что осталось отладить?

1 ответ

Похоже, что на литейных устройствах автоматически включаемая / не включаемая часть файла.cloginrc игнорируется. Я исправил свою проблему, заставив пользователей автоматически переходить в привилегированный режим exec:

SSH@<switch>(config)#aaa authentication login privilege-mode

После выполнения прогона прогона я смог успешно получить конфигурацию всех своих коммутаторов.

Другие вопросы по тегам