0

我想定义当前使用静态 IP 地址登录远程主机的用户的用户名(或 uid)。当然有很多方法可以解决(例如 - 使用 PKI 和 sshd),但我更喜欢 SNMP 服务。

我已经看到了这个问题的一些例子,像这样(从这里,对于 ArubaOS):

snmpbulkwalk -v 2c -c secure 10.1.30.9 .1.3.6.1.4.1.14823.2.2.1.4.1.2.1.3

我正在尝试在 Python 上实现这种方法并收到错误:

In [33]: import netsnmp

In [34]: oid = netsnmp.Varbind("nUserName")

In [35]: result = netsnmp.snmpget(oid, Version = 2, DestHost="localhost", Community="public")
error: get: unknown object ID (nUserName)

我究竟做错了什么?使用 RHEL 6.4、Python 2.6。

谢谢你。

4

1 回答 1

1

该 SNMP 变量是企业特定的 (.1.3.6.1. 4 .1) 并且专门用于 Aruba SNMP 代理(因此是 OID 14823)。

要针对您的特定场景执行此操作,您需要 Linux SNMP 代理返回相同类型的数据,并且您应该检查相应的 MIB。

于 2013-10-08T10:14:29.893 回答