01-CLI配置
本章节下载: 01-CLI配置 (356.04 KB)
命令行接口是用户与设备之间的文本类指令交互界面,用户键入文本类命令,通过输入回车键提交设备执行相关命令,从而对设备进行配置和管理,并可以通过查看输出信息确认配置结果。对比图形界面使用鼠标点击相关选项进行设置,命令行接口形式可以一次输入含义更为丰富的指令。设备的命令行接口界面如图1-1所示:
设备支持多种方式进入命令行接口,比如通过Console口登录设备后进入命令行接口界面、通过Telnet方式登录设备后进入命令行接口界面、通过SSH方式登录设备后进入命令行接口界面等,各方式的详细描述请参见“基础配置指导”中的相关章节。
命令行格式约定可以帮助您理解命令含义,产品手册中命令行表示规则遵循表1-1约定:
格式 |
意义 |
粗体 |
命令行关键字(命令中保持不变的部分)采用加粗字体表示。 |
斜体 |
命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示。 |
[ ] |
用“[ ]”括起来的部分在命令配置时是可选的。 |
{ x | y | ... } |
从两个或多个选项中仅选取一个。 |
[ x | y | ... ] |
从两个或多个选项中选取一个或者不选。 |
{ x | y | ... } * |
从两个或多个选项中至少选取一个。 |
[ x | y | ... ] * |
从两个或多个选项中选取一个、多个或者不选。 |
&<1-n> |
符号“&”前面的参数可以重复输入1~n次。 |
# |
由“#”号开始的行为注释行。 |
命令行关键字输入时不区分大小写。
根据表1-1规则解读命令clock datetime time date:
图1-2 命令行解读
示例:
使用如下命令行,则可以将设备的系统时间设置为2012年2月23日10时30分20秒。
<Sysname> clock datetime 10:30:20 2/23/2012
如遇到其他更为复杂的命令形式,都可以参照表1-1的约定解读其逻辑关系。
命令的undo格式一般用来恢复缺省情况、禁用某个功能或者删除某项设置。
在命令前加undo关键字,即为命令的undo格式,几乎每条配置命令都有对应的undo格式。
例如,info-center enable命令用来开启信息中心;undo info-center enable命令用来关闭信息中心。
设备提供丰富的功能,也提供了相应的配置和查询命令。为便于您使用这些命令,设备将命令按功能进行分类组织。功能分类与命令视图对应,当要配置某功能的某条命令时,需要先进入这条命令所在的视图。
命令视图采用分层结构,它们之间既有联系又有区别。如图1-3所示,
· 用户登录设备后,直接进入用户视图。此时屏幕显示的提示符是:<设备名>。用户视图下可执行的操作主要包括查看操作、调试操作、文件管理操作、设置系统时间、重启设备、FTP和Telnet操作等。(“设备名”可以通过sysname命令来配置,缺省值为H3C,sysname命令介绍请参见“基本配置命令参考”中的“设备管理”)。
· 从用户视图可以进入系统视图,系统视图下能对设备运行参数进行配置,比如配置夏令时、配置欢迎信息、配置快捷键等。
· 在系统视图下键入不同的命令,可以进入相应的功能视图,完成各种功能的配置,比如:进入接口视图配置接口参数、创建VLAN并进入VLAN视图、进入用户界面视图配置登录用户的属性、创建本地用户并进入本地用户视图配置本地用户的密码和级别等。
想要了解某命令视图下支持哪些命令,请在命令视图提示符下键入“?”,系统将自动罗列出该命令行视图下可以执行的所有命令。
当用户登录到设备后,会自动进入用户视图,此时屏幕显示的提示符是:<设备名>。用户视图可执行的操作有限(比如查看操作、文件操作、FTP和Telnet操作等),需要进入系统视图,才能进一步对设备进行配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
必选 该命令在用户视图下执行 |
命令视图采用分层结构,比如用户视图下有系统视图,系统视图下又有接口视图、VLAN视图等。当前视图下的功能配置完成,需要退出当前视图时,可以进行如下操作。
表1-3 退出当前视图
操作 |
命令 |
说明 |
从当前视图返回上一级视图 |
quit |
必选 该命令可在任意视图下执行 |
· 用户视图下执行quit命令会中断用户终端与设备之间的当前连接。
· 公共密钥编辑视图下请使用public-key-code end返回上一级视图(公共密钥视图);公共密钥视图下请使用peer-public-key end命令返回系统视图。
本特性为用户提供了一种快捷的、从任意的非用户视图返回到用户视图的方式,而不需要多次执行quit命令。用户也可以直接按组合键<Ctrl+Z>从当前视图退回到用户视图。
表1-4 退回用户视图
操作 |
命令 |
说明 |
返回用户视图 |
return |
必选 该命令可在任意的非用户视图下执行 |
在命令行输入过程中,您可以随时键入“?”以获得详尽的在线帮助。下面给出常见的在线帮助应用场景,供您参考使用:
(1) 在任意视图下,键入<?>即可获取该视图下您可以使用的所有命令及其简单描述。例如:
<Sysname> ?
User view commands:
archive Specify archive settings
backup Backup next startup-configuration file to TFTP server
boot-loader Set boot loader
bootrom Update/read/backup/restore bootrom
cd Change current directory
……(略)
(2) 键入一条命令的关键字,后接以空格分隔的<?>。
如果<?>位置为关键字,则列出全部关键字及其简单描述。例如:
<Sysname> terminal ?
debugging Send debug information to terminal
logging Send log information to terminal
monitor Send information output to current terminal
trapping Send trap information to terminal
如果<?>位置为参数,则列出有关的参数描述。例如:
<Sysname> system-view
[Sysname] interface vlan-interface ?
<1-4094> VLAN interface
[Sysname] interface vlan-interface 1 ?
<cr>
[Sysname] interface vlan-interface 1
<cr>表示命令行当前位置无参数,直接键入回车即可执行。
(3) 键入命令的不完整关键字,其后紧接<?>,显示以该字符串开头的所有命令关键字。例如:
<Sysname> f?
fixdisk
format
free
ftp
<Sysname> display ftp?
ftp
ftp-server
ftp-user
输入命令行时的常用编辑功能,请参见表1-5的介绍。
按键 |
功能 |
普通按键 |
若编辑缓冲区未满,则插入到当前光标位置,并向右移动光标 |
退格键<Backspace> |
删除光标位置的前一个字符,光标前移 |
左光标键←或<Ctrl+B> |
光标向左移动一个字符位置 |
右光标键→或<Ctrl+F> |
光标向右移动一个字符位置 |
<Tab>键 |
输入不完整的关键字后按下<Tab>键,系统自动补全关键字: · 如果与之匹配的关键字唯一,则系统用此完整的关键字替代原输入并换行显示; · 如果与之匹配的关键字不唯一,则反复按<Tab>键,可以循环显示所有以输入字符串开头的关键字; · 如果没有与之匹配的关键字,系统会不作任何修改,重新换行显示原输入。 |
编辑命令行时,如果命令行中的参数是STRING类型的,则设备对该参数的基本要求为:除“?”、“"”、“\”、空格之外的可见字符,可见字符对应的ASCII码区间为32~126。需要注意的是,业务模块可能对STRING类型参数有更多的输入限制,详情请见命令的提示信息以及命令手册中的参数描述。比如:
<Sysname> system-view
[Sysname] domain ?
STRING<1-24> Domain name
以上举例表明,在设备创建一个安全域时,域名为STRING类型的参数,最多可以包含24个字符,每个字符可以是除“?”、“"”、“\”、空格、“|”、“/”、“:”、“*”、“<”、“>”、“@”之外的任意可见字符。
设备支持不完整关键字输入,即在当前视图下,当输入的字符足够匹配唯一的关键字时,可以不必输入完整的关键字。该功能提供了一种快捷的输入方式,有助提高操作效率。
比如用户视图下以s开头的命令有startup saved-configuration、system-view等。
· 如果要输入system-view,可以直接输入sy(注意不能只输入s,因为输入不能确定唯一匹配关键字)。
· 如果要输入startup saved-configuration,可以直接输入st s。
您可以按<Tab>键由系统自动补全关键字的全部字符,以确认系统的选择是否为所需输入的关键字。
通过配置命令行别名,用户可以将设备当前支持的命令行的第一个关键字替换为自己惯用的关键字。比如将display的别名设置为show,这样在设备上执行display xx命令时只需要输入show xx即可。
在配置命令行别名时,需要遵循以下约定:
· 当查看当前配置信息以及保存配置信息时,用户输入的带别名的命令将以系统原始的命令形式被显示或存储,而不会以别名的形式。即用户的别名命令可以使用,但不会参与配置保存和恢复。
· 配置命令行别名时,输入的待替换的关键字(cmdkey)和替换后的关键字(alias)参数必须是完整的输入形式。
· 当用户输入字符与用户定义的别名以及现有某关键字同时部分匹配时,则优先匹配别名,如想输入现有关键字对应的命令则需要完整输入该关键字。当用户输入字符与某关键字完全匹配,而与别名部分匹配时,则优先匹配关键字,如想输入别名对应的命令则需要完整输入该别名。如果用户输入的字符串与多个别名部分匹配,则输出歧义匹配信息。
· 当用户对别名关键字使用<Tab>键时,将联想出所对应的原始关键字。
· 不支持对整个命令行的替换。只支持对第一关键字的别名设置,以及undo命令的第二关键字的别名替换。
表1-6 配置命令行的别名
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能命令行别名功能 |
command-alias enable |
必选 缺省情况下,命令行别名功能处于关闭状态 |
给指定的命令行配置别名 |
command-alias mapping cmdkey alias |
必选 缺省情况下,命令行没有配置别名 |
您可以随时使用display command-alias命令来显示当前已经设置的命令行别名。
为便于用户对常用命令进行快捷操作,系统提供了五个快捷键供用户自定义。只要用户按下某个快捷键,系统即可执行对应的命令。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置命令行的快捷键 |
hotkey { CTRL_G | CTRL_L | CTRL_O | CTRL_T | CTRL_U } command |
可选 缺省情况请参见表下方的说明 |
显示系统中快捷键的分配信息 |
display hotkey [ | { begin | exclude | include } regular-expression ] |
可在任意视图下执行,系统保留的快捷键请参见表1-8 |
缺省情况下,系统为<Ctrl+G>、<Ctrl+L>、<Ctrl+O>三个快捷键指定了对应的命令,其他两个快捷键<Ctrl+T>、<Ctrl+U>缺省值为NULL(空)。
· <Ctrl+G>对应命令display current-configuration(显示当前配置);
· <Ctrl+L>对应命令display ip routing-table(显示IPv4路由表信息);
· <Ctrl+O>对应命令undo debugging all(关闭所有模块的调试信息开关)。
快捷键 |
功能 |
<Ctrl+A> |
将光标移动到当前行的开头 |
<Ctrl+B> |
将光标向左移动一个字符 |
<Ctrl+C> |
停止当前正在执行的功能 |
<Ctrl+D> |
删除当前光标所在位置的字符 |
<Ctrl+E> |
将光标移动到当前行的末尾 |
<Ctrl+F> |
将光标向右移动一个字符 |
<Ctrl+H> |
删除光标左侧的一个字符 |
<Ctrl+K> |
终止呼出的连接 |
<Ctrl+N> |
显示历史命令缓冲区中的后一条命令 |
<Ctrl+P> |
显示历史命令缓冲区中的前一条命令 |
<Ctrl+R> |
重新显示当前行信息 |
<Ctrl+V> |
粘贴剪贴板的内容 |
<Ctrl+W> |
删除光标左侧连续字符串内的所有字符 |
<Ctrl+X> |
删除光标左侧所有的字符 |
<Ctrl+Y> |
删除光标右侧所有的字符 |
<Ctrl+Z> |
退回到用户视图 |
<Ctrl+]> |
终止呼入的连接或重定向连接 |
<Esc+B> |
将光标移动到左侧连续字符串的首字符处 |
<Esc+D> |
删除光标所在位置及其右侧连续字符串内的所有字符 |
<Esc+F> |
将光标向右移到下一个连续字符串之前 |
<Esc+N> |
将光标向下移动一行(键入回车前有效) |
<Esc+P> |
将光标向上移动一行(键入回车前有效) |
<Esc+<> |
将光标所在位置指定为剪贴板的开始位置 |
<Esc+>> |
将光标所在位置指定为剪贴板的结束位置 |
以上快捷键为设备所定义,当用户使用终端软件与设备进行交互时,这些快捷键可能在终端软件中被定义为其他指令。此时,快捷键的操作优先遵从终端软件的定义,而不会对设备生效。
当您在未完成输入操作却被大量的系统信息打断时,开启此功能可以回显您已经输入而未提交执行的信息,方便您继续完成未输入的内容。
表1-9 配置命令行输入回显功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
打开命令行输入回显功能 |
info-center synchronous |
必选 缺省情况下,命令行输入回显功能处于关闭状态 |
· 在当前命令行提示符下,如果用户没有任何输入,此时若有日志等系统信息输出,输出后将不会回显命令行提示符;
· 当处在交互状态,需要用户输入一些交互信息时(非Y/N确认信息),因为情况各异,所以若有系统信息输出,输出后不再回显提示信息,而只是将用户已有的输入换行打印出来。
· info-center synchronous命令的详细介绍请参见“网络管理和监控命令参考”中的“信息中心”。
您所有键入的命令,如果通过设备的语法检查,则正确执行,否则向您报告错误信息,常见错误信息参见表1-10。
英文错误信息 |
错误原因 |
% Unrecognized command found at '^' position. |
在符号'^'指示位置的命令无法解析 |
% Incomplete command found at '^' position. |
在符号'^'指示位置的命令不完整 |
% Ambiguous command found at '^' position. |
在符号'^'指示位置的参数不明确,存在二义性 |
% Too many parameters found at '^' position. |
在符号'^'指示位置的输入参数太多 |
% Wrong parameter found at '^' position. |
在符号'^'指示位置的参数错误 |
命令行接口会将您最近使用的历史命令自动保存到历史命令缓存区,您可以随时了解最近执行的命令,以及调用保存的历史命令来进行重复输入。
操作 |
命令或按键 |
结果 |
显示历史命令 |
display history-command [ | { begin | exclude | include } regular-expression ] |
显示用户输入的有效历史命令 |
访问上一条历史命令 |
上光标键↑或<Ctrl+P> |
如果还有更早的历史命令,则显示上一条历史命令 |
访问下一条历史命令 |
下光标键↓或<Ctrl+N> |
如果还有更晚的历史命令,则显示下一条历史命令 |
用光标键对历史命令进行访问,在Windows 200X及XP的Terminal和Telnet下均有效,但对于Windows 9X超级终端,↑、↓光标键会无效,这是由于Windows 9X的超级终端对这两个键作了不同解释所致,这时可以用组合键<Ctrl+P>和<Ctrl+N>来达到同样效果。
下面是关于历史命令的一些详细说明,您可以做进一步了解:
· 设备保存的历史命令与用户输入的命令格式相同,如果您使用了命令的不完整形式,保存的历史命令也是不完整形式。
· 如果您连续多次执行同一条命令,设备的历史命令中只保留最早的一次。但如果执行时输入的形式不同,将作为不同的命令对待。例如:多次执行display cu命令,历史命令中只保存一条。如果执行display cu和display current-configuration,将保存为两条历史命令。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入用户界面视图 |
user-interface { first-num1 [ last-num1 ] | { aux | vty } first-num2 [ last-num2 ] } |
- |
设置历史命令缓冲区可存放的历史命令的条数 |
history-command max-size size-value |
可选 缺省情况下,历史命令缓冲区可存放10条历史命令 |
user-interface和history-command max-size命令的详细介绍请参见“基础配置命令参考”中的“登录交换机”。
当显示信息较多超过一屏时,系统会自动暂停将信息分屏显示,方便您查看显示信息。
这时您可以使用表1-13所示的按键来选择下一步操作。
按键或命令 |
功能 |
键入空格键 |
继续显示下一屏信息 |
键入回车键 |
继续显示下一行信息 |
键入<Ctrl+C> |
停止显示和命令执行 |
<PageUp> |
显示上一页信息 |
<PageDown> |
显示下一页信息 |
缺省情况下,一屏显示24行信息,您也可以使用screen-length命令设置用户界面下一屏显示的行数(screen-length命令的详细介绍请参见“基础配置命令参考”中的“登录交换机”)。
您可以通过以下配置禁用当前登录用户的分屏显示功能。禁止分屏显示时,会一次显示所有信息,如果信息较多,则会连续刷屏,不方便立即查看。
表1-14 禁止分屏显示
操作 |
命令 |
说明 |
禁用当前用户的分屏显示功能 |
screen-length disable |
必选 缺省情况下,用户登录后将遵循用户界面下的screen-length设置。screen-length设置的缺省情况为:允许分屏显示,下一屏显示24行数据 该操作在用户视图下执行,仅对当前用户有效,用户重登录后将恢复到缺省情况 |
在执行display命令查看显示信息时,用户可以使用正则表达式来过滤显示信息,以便快速的找到自己关注的信息。
过滤显示的使用方法有两种:
· 在命令行中通过输入| { begin | exclude | include } regular-expression参数的方式来过滤显示;
· 在分屏显示时,使用“/”、“-”或“+”符号加正则表达式的方式,它将对剩余还未显示的信息使用正则表达式进行过滤显示。其中,“/”等同关键字begin;“-”等同关键字exclude;“+”等同关键字include。
begin、exclude或include关键字的含义如下:
· begin:显示特定行及其以后的所有行,该特定行必须包含指定正则表达式。
· exclude:显示不包含指定正则表达式的所有行。
· include:只显示包含指定正则表达式的所有行。
正则表达式(regular-expression)为1~256个字符的字符串,区分大小写,它还支持多种特殊字符,特殊字符的匹配规则如表1-15所示。
特殊字符 |
含义 |
使用说明 |
^string |
行首匹配符,string只能出现在每行的开始 |
如:^user只能匹配以user开始的行,不能匹配以Auser开始的行 |
string$ |
行尾匹配符,string只能出现在每行的末尾 |
如:user$只能匹配以user结尾的行,不能匹配以userA结尾的行 |
. |
句点,通配符,匹配任何一个字符,包括单个字符、特殊字符和空格等 |
如:.s可以匹配as和bs等 |
* |
星号,匹配星号前面的字符或字符组零次或多次 |
如:zo*可以匹配z以及zoo;(zo)*可以匹配zo以及zozo |
+ |
加号,匹配加号前面的字符或字符组一次或多次 |
如:zo+可以匹配zo以及zoo,但不能匹配z |
| |
竖线,匹配|左边的整个字符串或者右边的整个字符串 |
如:def|int只能匹配包含def或者int的字符串 |
_ |
下划线,该字符出现在表达式的开头或结尾时,等效于行首匹配符或行尾匹配符(即特殊字符^或$),其他情况下等效于逗号、空格或者作为普通字符时的左括号、右括号、左大括号、右大括号 |
如:a_b可以匹配a b和a(b等;_ab只能匹配以ab开头的行;ab_只能匹配以ab结束的行 |
- |
连接符,用于连接两个数值或字母(小的在前,大的在后),与“[ ]”符号连用表示一个范围 |
如:从1到9表示为1-9(包括1和9);从a到h表示为a-h(包括a和h) |
[ ] |
表示字符选择范围,将以选择范围内的单个字符为条件进行匹配,只要字符串里包含该范围的某个字符就能匹配到 |
如:[16A]表示可以匹配到的字符串只需要包含1、6或A中任意一个;[1-36A] 表示可以匹配到的字符串只需要包含1、2、3、6或A中任意一个(-为连接符) 如果]需要作为普通字符出现在[ ]内时,必须把]写在[ ]的最前面,形如[]string],才能匹配到]。[没有这样的限制 |
( ) |
表示字符组,一般与“+”或“*”等符号一起使用 |
如:(123A)表示字符组123A;408(12)+可以匹配40812或408121212等字符串,但不能匹配408 |
\index |
表示重复一次指定字符组,字符组是指\前用()括起来的字符串,index对应\前字符组的顺序号按从左至右的顺序从1开始编号:如果\前面只有一个字符组,则index只能为1;如果\前面有n个字符组,则index可以为1到n中的任意整数 |
如:(string)\1表示把string重复一次,匹配的字符串必须包含stringstring;(string1)(string2)\2表示把string2重复一次,匹配的字符串必须包含string1string2string2;(string1)(string2)\1\2表示先把string1重复一次,再重复一次string2,匹配的字符串必须包含string1string2string1string2 |
[^] |
表示选择范围外的字符,将以单个字符为条件进行匹配,只要字符串里包含该范围外的某个字符就能匹配到 |
如:[^16A]表示可匹配的字符串只需要包含1、6和A之外的任意字符,该字符串也可以包含字符1、6或A,但不能只包含这三个字符。比如[^16A]可以匹配abc、m16,不能匹配1、16、16A |
\<string |
匹配以string开头的字符串 |
如:\<do可以匹配单词domain,还可以匹配字符串doa |
string\> |
匹配以string结尾的字符串 |
如:do\>可以匹配单词undo,还可以匹配字符串abcdo |
\bcharacter2 |
匹配characte1character2,characte1可以是除了数字、字母和下划线外的任意字符,\b等效于[^A-Za-z0-9_] |
如:\ba可以匹配-a,-为characte1,a为character2,但是不能匹配2a和ba等 |
\Bcharacter |
匹配到的字符串中必须包含字符character,且character前不能是空格 |
如:\Bt可以匹配install里的t而不能匹配big top中的t |
character1\w |
匹配characte1character2,character2必须是数字、字母或下划线。\w相当于[A-Za-z0-9_] |
如:v\w能匹配到vlan,v为characte1,l为character2,v\w还能匹配service,i为character2 |
\W |
等效于\b |
如:\Wa可以匹配-a,-为characte1,a为character2,但是不能匹配2a和ba等 |
\ |
转义操作符,\后紧跟本表列的单个特殊字符时,将去除特殊字符的特定含义 |
如:\\可以匹配包含\的字符串,\^可以匹配包含^的字符串,\\b可以匹配包含\b的字符串 |
(1) begin参数应用举例
# 查看当前生效的配置中,从包含“user-interface”字符串的行开始到最后一行的配置信息(该显示信息与用户的当前配置有关)。
<Sysname> display current-configuration | begin user-interface
user-interface aux 0
user-interface vty 0 15
authentication-mode none
user privilege level 3
#
return
(2) exclude参数应用举例
# 查看路由表中的非直连路由(该显示信息与用户的当前配置有关)。
<Sysname> display ip routing-table | exclude Direct
Routing Tables: Public
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.0/24 Static 60 0 192.168.0.0 Vlan1
(3) include参数应用举例
# 查看路由表中包含Vlan的路由表项(该显示信息与用户的当前配置有关)。
<Sysname> display ip routing-table | include Vlan
Routing Tables: Public
Destination/Mask Proto Pre Cost NextHop Interface
192.168.1.0/24 Direct 0 0 192.168.1.42 Vlan999
为了限制不同用户对设备的访问权限,系统对用户进行了分级管理。用户的级别与命令级别对应,不同级别的用户登录后,只能使用等于或低于自己级别的命令。
命令的级别由低到高分为访问级、监控级、系统级和管理级四种,分别对应级别值0、1、2、3。详细介绍请见表1-16:
级别值 |
级别名称 |
描述 |
0 |
访问级 |
用于网络诊断等功能的命令、从本设备出发访问外部设备的命令。该级别命令配置后不允许保存,设备重启后,该级别命令会恢复到缺省状态 缺省情况下,访问级的命令包括:ping、tracert、telnet、ssh2等 |
1 |
监控级 |
用于系统维护、业务故障诊断等功能的命令。该级别命令配置后不允许保存,设备重启后,该级别命令会恢复到缺省状态 缺省情况下,监控级的命令包括:debugging、terminal、refresh、send等 |
2 |
系统级 |
业务配置命令,包括路由、各个网络层次的命令,这些命令用于向用户提供直接网络服务 缺省情况下,系统级的命令包括:所有配置命令(管理级的命令除外) |
3 |
管理级 |
关系到系统的基本运行、系统支撑模块功能的命令,这些命令对业务提供支撑作用 缺省情况下,管理级的命令包括:文件系统命令、FTP命令、TFTP命令、XModem命令下载、用户管理命令、级别设置命令、系统内部参数设置命令(非协议规定、非RFC规定)等 |
用户级别可以通过AAA认证参数或者用户界面来配置:
如果用户登录时使用的用户界面的认证方式为scheme,并且用户登录时需要输入用户名和密码,则用户级别以及用户可使用的命令,在配置AAA认证时指定。
表1-17 通过AAA认证参数配置用户级别
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入用户界面视图 |
user-interface { first-num1 [ last-num1 ] | { aux | vty } first-num2 [ last-num2 ] } |
- |
|
设置登录用户界面的认证方式为scheme |
authentication-mode scheme |
必选 缺省情况下,VTY用户界面认证方式为password,AUX用户界面不需要认证 |
|
退回系统视图 |
quit |
- |
|
配置SSH用户的认证方式为password方式 |
相关内容请参见“安全配置指导”中的“SSH” |
如果用户使用SSH方式登录,并且认证时要求输入用户名和密码,则该步骤必选 |
|
通过认证参数设置用户的级别 |
使用本地认证时 |
· 使用local-user命令创建本地用户并进入本地用户视图 · 使用authorization-attribute命令的level参数配置用户本身的级别 |
二者必选其一 使用本地认证时,如果没有配置用户级别,则用户级别为0,即只能使用0级别的命令 使用远程认证时,如果没有配置用户级别,则用户级别由认证服务器的缺省配置决定 |
使用远程认证(RADIUS认证或者HWTACACS认证)时 |
在认证服务器上进行配置 |
· 关于用户界面的介绍请参见“基础配置指导”中的“登录交换机”。有关user-interface、authentication-mode、user privilege level命令的介绍请参见“基础配置命令参考”中的“登录交换机”。
· 有关AAA认证的介绍请参见“安全配置指导”中的“AAA”。local-user和authorization-attribute命令的介绍请参见“安全命令参考”中的“AAA”。
· 有关SSH的介绍请参见“安全配置指导”中的“SSH”。
# 设置使用VTY 1的Telnet用户登录设备时,需要本地验证用户名和口令,用户级别为3。
<Sysname> system-view
[Sysname] user-interface vty 1
[Sysname-ui-vty1] authentication-mode scheme
[Sysname-ui-vty1] quit
[Sysname] local-user test
[Sysname-luser-test] password simple 123
[Sysname-luser-test] service-type telnet
通过以上配置,用户使用VTY 1 Telnet登录设备时,需要输入用户名test,密码123,认证通过后只能使用级别为0的命令,想要使用级别为0、1、2、3的命令还需要配置:
[Sysname-luser-test] authorization-attribute level 3
· 如果用户登录时使用的用户界面的认证方式为scheme,而且是SSH的publickey认证方式时(该方式只需要输入用户名,不需要输入密码),则用户级别等于用户界面的级别;
· 如果用户登录时使用的用户界面的认证方式为none或者password(即不需要输入用户名),用户级别也等于用户界面的级别。
表1-18 通过用户界面配置用户级别(SSH的publickey认证方式)
操作 |
命令 |
说明 |
配置SSH用户的认证方式为publickey方式 |
相关内容请参见“安全配置指导”中的“SSH” |
如果用户使用SSH方式登录,并且认证时只要输入用户名,不用输入密码,则该步骤必选 配置该步骤后,相应的用户界面的认证方式必须设置为scheme |
进入系统视图 |
system-view |
- |
进入用户界面视图 |
user-interface { first-num1 [ last-num1 ] | vty first-num2 [ last-num2 ] } |
- |
设置用户使用当前用户界面登录设备时的认证方式 |
authentication-mode scheme |
必选 缺省情况下,VTY用户界面认证方式为password,AUX用户界面不需要认证 |
配置从当前用户界面登录系统的用户的级别 |
user privilege level level |
可选 缺省情况下,通过AUX用户界面登录系统的用户级别是3,通过VTY用户界面登录系统的用户级别是0 |
表1-19 通过用户界面配置用户级别(none或者password认证方式)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入用户界面视图 |
user-interface { first-num1 [ last-num1 ] | { aux | vty } first-num2 [ last-num2 ] } |
- |
设置用户使用当前用户界面登录设备时的认证方式 |
authentication-mode { none | password } |
可选 缺省情况下,VTY用户界面认证方式为password,AUX用户界面不需要认证 |
配置从当前用户界面登录系统的用户的级别 |
user privilege level level |
可选 缺省情况下,通过AUX用户界面登录系统的用户级别是3,通过VTY用户界面登录系统的用户级别是0 |
· 设置所有的Telnet用户登录设备时,不需要身份认证,用户级别为1。(不设置身份认证可能存在安全隐患,请确保在安全性较高的网络环境中使用本配置)
<Sysname> system-view
[Sysname] user-interface vty 0 15
[Sysname-ui-vty0-15] authentication-mode none
[Sysname-ui-vty0-15] user privilege level 1
· 设置所有的Telnet用户登录设备时,需要验证口令,用户级别为2。
<Sysname> system-view
[Sysname] user-interface vty 0 15
[Sysname-ui-vty0-15] authentication-mode password
[Sysname-ui-vty0-15] set authentication password simple 123
[Sysname-ui-vty0-15] user privilege level 2
缺省情况下,用户使用Telnet方式登录设备,通过口令验证后,只能使用级别为0的命令。通过用户界面设置级别后,用户使用Telnet方式登录设备,输入密码123后,就可以使用级别为0、1、2的命令。
切换用户级别是指在不退出当前登录、不断开当前连接的前提下暂时的修改用户级别。级别修改后不需要重新登录,可以继续配置设备,只是可以执行的命令会不一样。比如用户的级别为3,可以对系统参数进行设置,如果将用户的级别切换到0,则只能执行简单的ping、tracert和很少一部分display命令等。切换后的级别是临时的,只对当前登录生效,用户重新登录后,又会恢复到原有级别。
· 为了防止对设备的误操作,通常情况下建议管理员使用较低级别的用户登录设备、查看设备运行参数,当需要对设备进行维护时,再临时切换到较高的级别;
· 当管理员需要暂时离开设备或者将设备暂时交给其他人代为管理时,为了安全起见,可以临时切换到较低的级别,来限制其他人员的操作。
· 从高级别切换到低级别或相同级别时,可以直接切换,不需要进行身份验证。
· 从低级别切换到高级别时,为了保证操作的安全性,需要进行身份认证。如表1-20所示,认证方式有四种。
认证方式 |
涵义 |
说明 |
local |
本地密码认证 |
设备验证用户输入的级别切换密码 使用该方式时,需要在设备上使用super password命令设置级别切换密码 |
scheme |
通过HWTACACS/RADIUS进行远程AAA认证 |
设备将级别切换用户名和密码发送给HWTACACS/RADIUS服务器进行远程验证 使用该方式时,需要进行以下相关配置: · 在设备上配置HWTACACS/RADIUS方案,并在ISP域中引用已创建的HWTACACS/RADIUS方案,详细介绍请参见“安全配置指导”中的“AAA” · 在HWTACACS/RADIUS服务器上创建相应的用户并配置密码 |
local scheme |
本地密码认证和远程AAA认证相结合 |
先本地密码认证,若设备上没有设置本地级别切换密码,使用AUX用户界面登录的用户会直接进行级别切换,其他用户(使用VTY用户界面登录的用户)则转为远程AAA认证 |
scheme local |
远程AAA认证和本地密码认证相结合 |
先远程AAA认证,远程HWTACACS/RADIUS服务器无响应或设备上的AAA配置无效时,转为本地密码认证 |
表1-21 配置用户级别切换时的认证方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置用户级别切换时的认证方式 |
super authentication-mode { local | scheme } * |
可选 缺省情况下,采用local认证方式 |
配置用户级别切换的密码 |
super password [ level user-level ] [ hash ] { cipher | simple } password |
如果使用本地认证(即认证方式配置时选择了local参数),则该步骤必选 缺省情况下,没有设置切换用户级别的密码 |
· 在使用super password命令时,若不指定用户级别,则配置的是切换到3级用户的密码。
· 如当用户使用AUX用户界面(指Console口)登录设备进行低级别到高级别的切换时,即便认证方式为local,没有配置对应的用户级别切换密码,也可以成功的实现级别切换。
表1-22 切换用户级别
操作 |
命令 |
说明 |
切换用户级别 |
super [ level ] |
必选 用户在登录设备时,已经具有了一定的级别,该级别由用户界面或者认证用户级别决定 该命令在用户视图下执行 |
切换用户级别时,根据用户界面认证方式和Super认证方式的不同组合设置,系统会要求用户输入不同的信息:
表1-23 用户级别切换时输入信息描述表
用户界面认证方式 |
用户级别切换认证方式 |
第一种认证方式下切换用户级别需要输入的信息 |
认证方式转换后切换用户级别需要输入的信息 |
none/password |
local |
本地级别切换密码(设备上设置) |
- |
local scheme |
本地级别切换密码 |
级别切换用户名和密码(AAA服务器上设置) |
|
scheme |
级别切换用户名和密码 |
- |
|
scheme local |
级别切换用户名和密码 |
本地级别切换密码 |
|
scheme |
local |
本地级别切换密码 |
- |
local scheme |
本地级别切换密码 |
级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名 |
|
scheme |
级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名 |
- |
|
scheme local |
级别切换密码(AAA服务器上设置),系统使用登录用户名作为级别切换用户名 |
本地级别切换密码 |
· 当使用的认证方式中有local时,切换用户级别前需要配置用户级别切换的密码。
· 当使用的认证方式中有scheme时,切换用户级别前需要配置AAA相关参数。
· 级别切换认证方式为scheme时,用户最多可以连续输入三次密码,如果三次密码都错误则本次切换失败。
· 级别切换认证方式为local时,用户最多可以连续输入五次密码,如果五次密码都错误则本次切换失败。
· 关于用户界面认证方式的相关描述请参见“基础配置指导”中的“登录交换机”。
缺省情况,各个视图下的每条命令都有指定的级别(如表1-16所示)。管理员也可以根据用户需要改变命令的级别:实现低级别用户可以使用部分高级别命令的需求;或者将命令的级别提高,增加设备的安全性。
表1-24 修改命令的级别
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置指定视图下的命令的级别 |
command-privilege level level view view command |
可选 缺省情况请参见表1-16 |
通常情况下,建议用户不要修改缺省的命令级别或者在专业人员的指导下进行修改,以免造成操作和维护上的不便甚至给设备带来安全隐患。
在设备上,您可以随时输入save命令,将已经提交执行的所有命令行保存在配置文件中。这样在设备重启后,所有保存的配置不会丢失。配置保存不涉及一次性执行命令,比如:display类显示命令(执行后即显示相关信息),reset类清除命令(执行后即清除相关信息)。这类命令执行一次性操作要求,不会进行配置保存。
在完成上述配置后,在任意视图下执行display命令可以查看系统相应的配置信息和运行信息。
操作 |
命令 |
显示当前用户设置的命令行及其别名 |
display command-alias [ | { begin | exclude | include } regular-expression ] |
显示剪贴板的内容 |
display clipboard [ | { begin | exclude | include } regular-expression ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!