SNMPUSM

SNMPUSM

名称

snmpusm - 在网络实体上创建和维护 SNMPv3 用户

概要

snmpusm [COMMON OPTIONS] create USER [CLONEFROM-USER]

snmpusm [COMMON OPTIONS] delete USER

snmpusm [COMMON OPTIONS] cloneFrom USER CLONEFROM-USER

snmpusm [COMMON OPTIONS] [-Ca] [-Cx] passwd OLD-PASSPHRASE NEW-PASSPHRASE [USER]

snmpusm [COMMON OPTIONS] <-Ca | -Cx> -Ck passwd OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]

snmpusm [COMMON OPTIONS] [-Ca] [-Cx] changekey [USER]

描述

snmpusm 是一个 SNMP 应用程序,可用于通过操作代理的基于用户的安全模块 (USM) 表对 SNMP 代理已知的用户进行简单维护。 用户需要对 usmUserTable MIB 表的写入权限。 此工具可用于创建、删除、克隆和更改在运行的 SNMP 代理上配置的用户密码。

选项

所有 snmpusm 命令的通用选项:

-CE ENGINE-ID

将 usmUserEngineID 设置为用作 usmUserTable 索引的一部分。 默认是使用 contextEngineID(通过 -E 设置或探测)作为 usmUserEngineID。

-Cp STRING

将(新)用户的 usmUserPublic 值设置为指定的 STRING。

passwdchangekey 命令的选项:

-Ca

更改鉴权密钥。

-Cx

更改加密密钥。

-Ck

允许使用本地化密钥(必须以 0x 开头)而不是密码。 使用此选项时,还必须使用 -Ca 或 -Cx 选项(但不能同时使用)。

创建用户

可以使用命令创建不需鉴权的 SNMPv3 用户

snmpusm [OPTIONS] create USER

这在 usmUserTable 中构造了一个(非活动)条目,没有鉴权或加密设置。 原则上,该用户应该可用于“noAuthNoPriv”请求,但实际上 Net-SNMP 代理不允许激活此类条目。

为了激活这个条目,有必要“克隆”一个现有的用户,使用命令

snmpusm [OPTIONS] cloneFrom USER CLONEFROM-USER

然后,USER 条目继承与 CLONEFROM 用户相同的鉴权和加密设置(包括密码)。

这两个步骤可以合并为一个,使用命令

snmpusm [OPTIONS] create USER CLONEFROM-USER

create 子命令的两种形式要求正在创建的用户不存在。 cloneFrom 子命令要求被克隆到 does 的用户已经存在。

克隆是指定用于给定用户的身份验证和隐私协议的唯一方法,并且只能执行一次。 重新克隆到同一用户的后续尝试似乎会成功,但会被静默忽略。 这种(有点出乎意料的)行为是 SNMPv3 USM 规范 (RFC 3414) 规定的。 要更改给定用户的身份验证和隐私设置,必须删除并重新创建用户条目。 这对于简单地更改密码短语不是必需的(见下文)。 这意味着对于身份验证和隐私协议的每种组合,必须使用至少一个用户来初始化代理。 有关 createUser 配置指令的详细信息,请参见 snmpd.conf(5) 手册页。

删除用户

可以使用以下命令从 usmUserTable 中删除用户

snmpusm [OPTIONS] delete USER

更改密码

用户配置文件包含永远不会以明文形式通过网络传输的私钥(无论管理请求是否加密)。 要更改用户的密钥,必须指定用户的旧密码以及新密码。 这使用命令

snmpusm [OPTIONS] [-Ca] [-Cx] passwd OLD-PASSPHRASE NEW-PASSPHRASE [USER]

从适当的模板克隆新用户条目后,应该立即更改新用户的密码。

如果未指定 USER,此命令将更改发出命令的 (SNMPv3) 用户的密码。 如果指定了 -Ca 或 -Cx 选项,则仅更改鉴权或加密密钥。 如果未指定这些选项,则鉴权和加密密钥都会更改。

snmpusm [OPTIONS] [-Ca] [-Cx] changekey [USER]

此命令通过 diffie-helman 交换以符合完美前向保密的方式更改密钥。 远程代理必须支持 SNMP-USM-DH-OBJECTS-MIB 才能使该命令起作用。 生成的密钥会打印到控制台,然后可以在以后的命令调用中使用 --defAuthLocalizedKey 和 --defPrivLocalizedKey 选项或在 snmp.conf 文件中使用 defAuthLocalizedKey 和 defPrivLocalizedKey 关键字进行设置。

请注意,由于这些密钥是基于 diffie hellman 交换随机生成的,因此它们不再来自更容易键入的密码。 然而,它们更安全。

要将本地化密钥更改回密码,请使用 passwd 子命令的以下变体:

snmpusm [OPTIONS] <-Ca | -Cx> -Ck passwd OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]

必须指定 -Ca 或 -Cx 选项。 OLD-KEY-OR-PASSPHRASE 和/或 NEW-KEY-OR-PASSPHRASE 参数可以是密码短语或以“0x”开头的本地化密钥,例如 由 changekey 子命令打印出来。

示例

对于我们的示例,假设以下 VACM 和 USM 配置行位于 Net-SNMP 代理的 snmpd.conf 文件中。 这些行使用鉴权密码“setup_passphrase”设置了一个名为“initial”的默认用户,以便我们可以执行代理的初始设置:

# VACM configuration entries

rwuser initial

# lets add the new user we'll create too:

rwuser wes

# USM configuration entries

createUser initial MD5 setup_passphrase DES

注意:在创建授予管理权限的真实用户后,应删除“initial”用户的设置(如我们将在本示例中创建的用户“wes”。)

注意:密码短语的长度必须为最少 8 个字符。

创建新用户

snmpusm -v3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost create wes initial

创建一个新用户,这里命名为“wes”,使用用户“initial”来执行此操作。 “wes”在过程中是从“initial”克隆的,因此他继承了该用户的密码(“setup_passphrase”)。

更改用户的密码

snmpusm -v 3 -u wes -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase new_passphrase

在使用与“initial”用户相同的密码创建用户“wes”后,我们需要为他更改密码。 上述命令将其从继承自初始用户的“setup_passphrase”更改为“new_passphrase”。

测试新用户

snmpget -v 3 -u wes -n "" -l authNoPriv -a MD5 -A new_passphrase localhost sysUpTime.0

如果上述命令成功,则该命令应该正确地向代理执行了经过鉴权的 SNMPv3 GET 请求。

现在,删除“initial”用户的 vacm“group”snmpd.conf 条目,就有了一个有效的用户“wes”,可以将其用于未来的事务而不是initial用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值