在网络设备的管理和维护中,安全性始终是一个至关重要的方面。对于思科网络设备,设置密码是保障设备安全的基础措施之一。通过设置 Console 密码、Enable 密码以及 VTY(虚拟终端线路)登录密码,网络管理员可以有效防止未经授权的访问,保护设备的配置和数据安全。本文将详细介绍如何在思科设备上设置这三种密码,并解释每种密码的作用和配置方法。

在进行详细配置之前,我们首先了解一下 Console 密码、Enable 密码和 VTY 登录密码的定义和用途:
Console 密码:Console 密码用于保护通过控制台(Console)端口对设备进行物理访问时的登录。控制台端口是网络设备上的一个串行端口,通常用于初始配置或故障排除。未设置 Console 密码时,任何人都可以通过物理连接到设备的控制台端口并访问设备。
Enable 密码:Enable 密码用于保护进入特权模式(privileged EXEC mode)的访问权限。在思科设备中,普通用户模式(user EXEC mode)提供了有限的命令集,而特权模式则允许用户执行配置命令和查看设备的详细信息。设置 Enable 密码后,用户需要输入该密码才能从普通模式进入特权模式。
VTY 登录密码:VTY 密码用于保护通过 Telnet 或 SSH 远程访问设备时的登录。VTY 是虚拟终端线路(Virtual Teletype)的缩写,思科设备通常提供多个 VTY 线路,允许多名用户同时通过网络远程登录设备。设置 VTY 登录密码可以防止未授权的远程访问。
配置 Console 密码
配置 Console 密码是保护设备物理访问安全的第一步。

以下是设置 Console 密码的详细步骤:
- 进入全局配置模式:首先,使用
configure terminal命令进入全局配置模式。
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
- 进入 Console 线路配置模式:使用
line console 0命令进入 Console 线路配置模式。Console 线路编号通常为 0。
Router(config)# line console 0
Router(config-line)#
- 设置 Console 密码:使用
password <密码>命令设置 Console 密码。将<密码>替换为你希望设置的密码。
Router(config-line)# password myConsolePassword
- 启用登录功能:设置密码后,必须使用
login命令启用登录功能,以确保设备在 Console 线路上要求输入密码。
Router(config-line)# login
- 退出并保存配置:配置完成后,使用
exit命令退出线路配置模式,并使用write memory或copy running-config startup-config命令保存配置。
Router(config-line)# exit
Router(config)# write memory
Building configuration...
[OK]
通过以上步骤,Console 密码已成功配置。下一次有人通过控制台端口访问设备时,将会被要求输入密码。
配置 Enable 密码
Enable 密码用于保护从普通模式进入特权模式的权限。为了进一步增强安全性,思科设备还提供了加密 Enable 密码的方法。以下是配置 Enable 密码的详细步骤:
- 进入全局配置模式:与配置 Console 密码相同,首先进入全局配置模式。
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
- 设置 Enable 密码:使用
enable password <密码>命令设置明文存储的 Enable 密码。将<密码>替换为你希望设置的密码。
Router(config)# enable password myEnablePassword
- 启用加密的 Enable 密码:为了提高安全性,建议使用
enable secret <密码>命令设置加密的 Enable 密码。enable secret命令会将密码加密存储在配置文件中,相比于明文存储的enable password,enable secret更加安全。
Router(config)# enable secret mySecretPassword
注意:如果同时配置了
enable password和enable secret,设备将优先使用enable secret密码。
- 退出并保存配置:完成配置后,使用
exit命令退出配置模式,并保存配置。
Router(config)# exit
Router# write memory
Building configuration...
[OK]
配置完成后,当用户尝试从普通模式进入特权模式时,设备将要求输入 Enable 密码。
配置 VTY 登录密码
VTY 密码用于保护通过 Telnet 或 SSH 远程访问设备的登录。由于远程访问是网络管理的常见方式,因此设置 VTY 密码尤为重要。

以下是配置 VTY 登录密码的详细步骤:
- 进入全局配置模式:与前述步骤相同,首先进入全局配置模式。
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
- 进入 VTY 线路配置模式:使用
line vty 0 4命令进入 VTY 线路配置模式。此命令表示配置 VTY 0 到 VTY 4,共五条 VTY 线路。具体的线路编号可能因设备而异。
Router(config)# line vty 0 4
Router(config-line)#
- 设置 VTY 密码:使用
password <密码>命令设置 VTY 密码。将<密码>替换为你希望设置的密码。
Router(config-line)# password myVTYPassword
- 启用登录功能:与 Console 密码配置类似,使用
login命令启用登录功能,以确保远程访问时设备要求输入密码。
Router(config-line)# login
- 选择登录协议:为了提高安全性,建议配置 VTY 线路仅接受 SSH 连接,而不接受 Telnet 连接。使用
transport input ssh命令强制 VTY 线路仅接受 SSH。
Router(config-line)# transport input ssh
- 退出并保存配置:完成配置后,使用
exit命令退出 VTY 线路配置模式,并保存配置。
Router(config-line)# exit
Router(config)# write memory
Building configuration...
[OK]
通过这些步骤,VTY 登录密码已成功配置,并且远程访问时设备将要求输入密码。使用 SSH 连接还提供了额外的加密保护,进一步提升了远程管理的安全性。
结合使用 AAA(身份验证、授权和记账)框架
除了单独设置 Console 密码、Enable 密码和 VTY 登录密码,思科设备还支持通过 AAA(Authentication, Authorization, and Accounting)框架进行集中管理。AAA 框架允许管理员使用外部服务器(如 RADIUS 或 TACACS+)对用户进行认证和授权,并记录用户的操作日志。

以下是如何结合使用 AAA 框架来管理思科设备的访问控制:
- 启用 AAA 新模型:首先,在全局配置模式下启用 AAA 功能。
Router(config)# aaa new-model
- 配置认证方法:使用
aaa authentication login default group radius local命令配置默认的认证方法。此配置将优先使用 RADIUS 服务器进行认证,如果 RADIUS 不可用,则使用本地用户数据库进行认证。
Router(config)# aaa authentication login default group radius local
- 配置授权方法:使用
aaa authorization exec default group radius local命令配置用户进入特权模式时的授权方法。
Router(config)# aaa authorization exec default group radius local
- 配置计费记录:使用
aaa accounting exec default start-stop group radius命令启用计费记录,记录用户的登录和退出时间。
Router(config)# aaa accounting exec default start-stop group radius
- 配置 VTY 使用 AAA:进入 VTY 配置模式,并启用 AAA 认证。
Router(config)# line vty 0 4
Router(config-line)# login authentication default
通过结合使用 AAA 框架,管理员可以集中管理多个设备的认证和授权策略,提高了访问控制的灵活性和可管理性。AAA 框架不仅提高了安全性,还简化了大型网络环境中的用户管理流程。以下是结合 AAA 框架的进一步配置说明:
启用 SSH 并禁用 Telnet
在现代网络环境中,使用 Telnet 进行远程管理已被视为不安全的做法,因为 Telnet 会以明文形式传输数据,容易被中间人攻击窃取。相比之下,SSH(Secure Shell)提供了加密通信,更为安全。为了保障设备的远程访问安全,建议在设置 VTY 登录密码的同时,禁用 Telnet 并强制使用 SSH。
配置 SSH 版本
思科设备支持 SSH 的多个版本,通常建议使用 SSH 版本 2(SSHv2),因为它比版本 1 更加安全。以下是配置 SSHv2 的步骤:
Router(config)# ip ssh version 2
配置本地用户
SSH 需要使用用户名和密码进行认证。首先,配置一个本地用户帐户,并为其分配一个密码。可以使用以下命令来创建用户:
Router(config)# username admin privilege 15 secret mySecurePassword
其中 privilege 15 表示用户具有最高权限,而 secret 命令用于加密存储密码。
配置 VTY 线路以使用 SSH
前文已提到,可以通过 transport input ssh 命令强制 VTY 线路仅接受 SSH 连接。为了确保 Telnet 被禁用且仅允许 SSH,以下是完整配置命令:
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
配置 SSH 超时和重试次数
为了进一步增强安全性,可以配置 SSH 的超时时间和最大重试次数,防止暴力破解攻击。以下是相关配置:
Router(config)# ip ssh time-out 60
Router(config)# ip ssh authentication-retries 2
time-out 命令设置了用户在 SSH 登录时有 60 秒的时间输入用户名和密码,而 authentication-retries 命令限制了用户最大尝试登录的次数为 2 次。
验证 SSH 配置
完成配置后,可以使用以下命令验证 SSH 是否正确启用:
Router# show ip ssh
该命令将显示 SSH 版本、超时设置、重试次数等相关信息,确保设备已正确配置。
使用强密码策略
设置 Console 密码、Enable 密码和 VTY 登录密码的过程中,使用强密码策略是保障设备安全的关键。以下是一些推荐的强密码策略:
- 长度:密码应至少包含 8-12 个字符。更长的密码通常更难破解。
- 复杂性:使用大小写字母、数字和特殊字符的组合。避免使用容易猜测的密码,如“password123”或“admin”。
- 定期更改:定期更新密码,建议每 60-90 天更改一次。
- 避免重复使用:不要在不同设备或系统中重复使用相同的密码。
- 密码管理工具:考虑使用密码管理工具生成和存储复杂密码。
以下是使用 secret 命令配置加密密码的示例,它能够将密码哈希存储在设备配置中,而不是明文存储:
Router(config)# enable secret 5 $1$Ffdl$gU7J6pZW50zjxE4ZgMZ9U1
在上述命令中,密码哈希的前缀 “$1$” 表示这是一个 MD5 哈希值。使用 enable secret 命令设置的密码比 enable password 命令设置的密码更安全。
通过 SNMP 监控登录活动
为了进一步保障设备的安全性,可以使用 SNMP(Simple Network Management Protocol)监控思科设备的登录活动。SNMP 允许管理员在远程服务器上监视和记录设备的安全事件。
启用 SNMP
首先,在设备上启用 SNMP,并配置一个社区字符串(类似于密码):
Router(config)# snmp-server community public RO
public 是社区字符串,RO 表示只读权限。你可以为更高的安全性选择更复杂的社区字符串。
配置 SNMP 陷阱
为了监控登录活动,可以配置 SNMP 陷阱,设备在检测到安全相关事件时会发送通知给指定的管理站。以下是配置 SNMP 陷阱的命令:
Router(config)# snmp-server enable traps syslog
Router(config)# snmp-server host 192.168.1.100 version 2c public
在此示例中,192.168.1.100 是 SNMP 管理站的 IP 地址,而 public 是社区字符串。
监控登录失败事件
你可以配置设备生成特定的系统日志(syslog)消息以记录登录失败事件,然后使用 SNMP 发送这些消息到管理站:
Router(config)# logging trap notifications
Router(config)# logging 192.168.1.100