我想定义当前使用静态IP地址登录到远程主机的用户的用户名(或uids)。当然有很多方法可以解决它(例如 - 使用PKI和sshd),但我更喜欢SNMP服务。
我已经看到了这个问题的一些例子,对于ArubaOS来说是这样的(from here):
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。
谢谢。
答案 0 :(得分:1)
该SNMP变量是特定于企业的(.1.3.6.1。 4 .1),特别是对于Aruba SNMP代理(因此OID 14823 )。
要针对您的特定方案执行此操作,您需要Linux SNMP代理返回相同类型的数据,并且应检查相应的MIB。