假设用于登录设备的交换机接口为VLANIF 10,其IP地址为192.168.1.45;管理员PC的地址为192.168.2.242。 通过Stelnet为什么不能登录设备 Telnet协议存在安全风险,推荐使用STelnet登录设备。通过STelnet方式登录设备失败时,可以按照如下排查步骤检查: 操作步骤查看是否因为路由不通,导致无法建立TCP连接。 可使用ping命令查看路由是否正常。 进入管理员PC的Windows的命令行提示符,执行ping命令: 如果ping通,则执行步骤2;如果ping不通,则进行以下检查: 检查路由是否正确。 通过串口登录设备,在设备上执行命令行 display ip routing-table 192.168.2.242 检查有无到管理员PC的路由。 上面的例子中,没有到达管理员PC的路由,因此需要执行命令 ip route-static 192.168.2.0 255.255.255.0 192.168.1.1 (192.168.1.1为管理地址的网关)。 检查ARP学习是否正确。 执行 display arp all 命令,检查直连地址的ARP是否学习正常。 下述回显信息中,如果 MAC ADDRESS 字段显示的是MAC地址,则代表ARP学习正确;如果显示的是 Incomplete ,表示当前表项为临时ARP表项,尚未学习到ARP。 如果已经学习到ARP表项,通过 display mac-address mac-address 命令查看MAC表项,确认MAC地址的出接口和ARP的物理出接口是否一致。若不一致,请排查是否存在环路或MAC冲突。 //本例中,交换机通过GE1/0/1接口接入网络,与MAC表项中的出接口一致,因此不存在环路和MAC冲突。 2.查看设备的SSH服务及源接口是否启动。 通过Console口或Telnet方式登录设备,执行命令 display ssh server status ,查看SSH服务器端配置信息。 如果STelnet没有使能,执行如下命令 stelnet [ ipv4 | ipv6 ] server enable ,使能SSH服务器端的STelnet服务。 执行 display ssh server status 命令,查看是否指定了SSH服务器端的源地址。回显中SSH server source interface项为空或者为其他接口(本例的源接口为VLANIF 10),则没有指定SSH服务器端的源接口或者源接口不对,需要执行 ssh server-source -i interface-type interface-number ,配置指定接口为SSH服务器端的源接口。 3.查看VTY类型用户界面视图下允许接入的协议配置及认证方式是否正确。 Console口或Telnet方式登录到设备上执行命令 user-interface vty 进入用户界面视图,执行命令 display this ,查看VTY用户界面的protocol inbound是否为ssh或者all,authentication-mode是否为aaa。如果不是,执行命令 protocol inbound { ssh | all }和 authentication-mode aaa 修改配置,允许STelnet类型用户接入设备。 4.查看设备上是否配置了RSA、DSA或ECC公钥。 设备作为SSH服务器时,必须配置本地密钥对。 在设备上执行命令 display rsa local-key-pair public 、 display dsa local-key-pair public 或 display ecc local-key-pair public 查看当前服务器端密钥对信息。如果显示信息为空,则表明没有配置服务器端密钥对,执行命令 rsa local-key-pair create 、 dsa local-key-pair create 或 ecc local-key-pair create 创建。 5.查看设备上是否配置了SSH用户。 执行命令 display ssh user-information ,查看SSH用户的配置信息。如果不存在配置信息,请在系统视图下执行命令 ssh user 、 ssh user authentication-type 和 ssh user service-type ,新建SSH用户并配置SSH用户的认证方式和SSH用户的服务方式。使用Password认证方式时,需要在AAA视图下配置与SSH用户同名的本地用户。 6.查看登录SSH服务器端的用户数是否到达了上限。 从Console口登录到设备,执行命令 display users ,查看当前的VTY通道是否全部被占用。缺省情况下,VTY通道允许的最大用户数是5个,可以先执行命令 display user-interface maximum-vty ,查看当前VTY通道允许的最大用户数。 如果当前的用户数已经达到上限,可以执行命令 user-interface maximum-vty 15 ,将VTY通道允许的最大用户数扩展到15个。 7.查看SSH服务器端上VTY类型用户界面下是否绑定了ACL。 设备上系统视图下执行命令 user-interface vty 进入SSH用户会使用的界面视图,执行命令 display this ,查看VTY用户界面是否配置了ACL限制,如果配置了ACL限制,请记录该ACL编号。 执行命令 display acl acl-number ,查看该访问控制列表中是否 deny 了STelnet管理员PC的地址。如果 deny 管理员PC的IP地址,则在ACL视图下,执行命令 undo rule rule-id ,删除 deny 规则,再执行相应的命令修改访问控制列表,允许管理员PC的IP地址访问。 8.查看SSH客户端和服务器上SSH版本信息。 在SSH服务器上执行命令 display ssh server status ,查看SSH版本信息。如果使用SSHv1版本的客户端登录服务器,则执行命令 ssh server compatible-ssh1x enable 配置服务器端版本兼容使能。 9.查看SSH客户端是否使能了首次认证功能。 在系统视图下执行命令 display this ,查看是否使能SSH客户端首次认证功能的的配置ssh client first-time enable。 如果没有使能SSH客户端首次认证功能,则STelnet客户端第一次登录SSH服务器时,由于对SSH服务器的公钥有效性检查失败,而导致登录服务器失败。执行命令 ssh client first-time enable 使能SSH客户端首次认证功能。 10.查看SSH服务器上是否配置了攻击溯源。 在SSH服务器上执行命令 display auto-defend configuration ,查看攻击溯源的配置信息。 缺省情况下,SSH服务器上已开启攻击溯源功能。如果指定攻击溯源的惩罚措施为丢弃,端口收到的可防范协议报文的速率超过端口防攻击检查阈值时,可能导致用户登录异常。可执行命令 undo auto-defend enable 关闭攻击溯源功能,或者执行命令 undo auto-defend action 关闭攻击溯源的惩罚功能。 11.如果以上步骤还不能解决问题,请收集日志信息、告警信息和配置信息,并联系技术支持人员。设备诊断信息可以通过 display diagnostic-information 命令收集。