将 Brocade 交换机添加到 Rancid 时出现“flogin 错误:错误:已达到超时”

将 Brocade 交换机添加到 Rancid 时出现“flogin 错误:错误:已达到超时”

我在 Ubuntu 14.04 系统上为几台设备设置了 Rancid,除了类型为“foundry”(Brocade)的设备外,其他设备都运行正常。每小时一个 cron 作业都会以 rancid 用户身份执行 rancid-run。我测试了弗洛金作为克洛金二进制登录脚本。

弗洛金

这是我在每条日志中看到的内容:

<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 文件似乎没有问题:

[email protected]:~$ cat /home/rancid/.cloginrc 
add autoenable * 1
add method * ssh
add user * rancid
add password * Jg278edd.fisd%1y

常规方式通过 SSH 连接到交换机没问题。但手动运行 flogin 脚本会得到以下结果:

[email protected]:/var/lib/rancid/bin$ ./flogin -c 'show version' <switch>
s0.nikhef.nl
spawn ssh -c 3des -x -l rancid s0.nikhef.nl
[email protected]'s password: 
[email protected]>
Error: TIMEOUT reached

登录大约需要 10 秒钟,之后似乎它没有执行我在 -c 标志后指定的命令。再过 10-20 秒,它在达到 Rancid 的 TIMEOUT 值后退出。

克洛金

该脚本运行正常......(但它不会进入执行模式,它会忽略自动启用 1)..

[email protected]:/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 的代码,这样就没问题了,对吧?手动测试证实了这一点,但执行 rancid-run 并没有获得配置,而只是在日志中显示了以下内容:

<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 文件中的 autoenable / no enable 部分。我通过让用户自动进入特权执行模式解决了这个问题:

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

再次执行 rancid-run 后,我能够成功获取所有交换机的配置。

相关内容