通过ssh执行切换命令

我想写一个脚本,将login到几个开关,并检查几个端口的状态。 我正在运行RHEL 4,并且有HP ProCurve 3500yl交换机。 我想要运行如下的东西:

ssh myhost -l myuser show interface A3 

但是当我这样做,ssh命令只是挂起,直到我按ctrl-c。 该手册似乎认为我想通过Web界面检查开关状态,所以我无法find远程获取状态的许多指导。 有没有办法通过SSH做到这一点? 有没有更好的方法,但仍然可以脚本?

检查交换机状态的常用方法是使用SNMP。 我会检查你的交换机是否支持SNMP(大多数被pipe理的交换机应该),以及是否通过SNMP暴露你想要的信息。

如果您可以编程Perl,我build议您查看SNMP :: Info模块,以便查询它们。

你正在做的是正确的方法[1] – 我会build议与惠普打开一张票来修正这个错误。

你可以将其中的一个作为解决方法:

 ssh myuser@myhost show interface A3 < /dev/null ssh myhost -l myuser $(echo -e 'show interface A3\nexit') 

[1]即在思科上工作:)

我不知道3500yl,但在2600和2800上,不支持远程ssh命令。 使用-v (verbose)选项运行ssh提供以下内容:

 debug1: Sending command: show interface 26 debug1: Received SSH2_MSG_UNIMPLEMENTED for 8 

这可能是因为惠普的欢迎屏幕。

安装rancid,configuration并运行〜rancid / bin / hlogin -c“show version”switch1 switch2

(用惠普2626确认,等一下,就会注销)

Rancid岩石。 如果你不使用它,现在就开始吧。