
说实话第一次被叫去给一台 S5500-52C-EI 配置远程登录的时候我在机柜前蹲了快四十分钟——不是配置难是那台设备塞在最底下那格Console 线插上去之后人只能歪着脖子看屏幕键盘放在膝盖上敲错一个字还得重新挪位置。那台设备是台 48 口千兆的三层交换机增强版跑的是 Comware V5 平台带几个光口和扩展槽放在接入层做汇聚用。它本身能力不弱静态路由、ACL、QoS 都支持但出厂状态下你想碰它基本只能靠那根 Console 线。所以给 S5500-52C-EI 配置远程登录这件事看起来只是个开服务、建账号的小活实际上它决定了你以后是每次都跑机房还是坐在工位上把活干完。这篇东西主要是写给刚接手网络运维的朋友也适合那些手上有一台这类设备、想给自己开条管理通道但不确定从哪下手的同学。从地址规划到 Telnet、SSH 两条路再到加固和排错我按自己实际操作的顺序捋一遍。1. 先想清楚这台交换机到底要开哪几条管理通道动手敲命令之前有件事值得先花十分钟想明白远程登录不是一个功能它是一组功能的集合。这台 S5500-52C-EI 上能让你进去的方式至少有四种各自的定位完全不同。很多新手一上手就把 Telnet、SSH、Web 全开觉得多一条路多一份保险结果几个月后做安全自查发现管理面开了一堆没人用的入口自己都说不清哪个是正常业务、哪个是遗留配置。我的习惯是先做减法明确这台设备未来由谁维护、从哪些网段维护再决定开什么。1.1 四种登录方式的定位差异与取舍Console 是本地物理通道走设备面板上那个 RJ45 形态的配置口不依赖任何网络配置哪怕 IP 地址配错、VLAN 划乱、ACL 把自己锁死这根线依然能进去。它的价值不在日常使用而在于保命——所有远程配置动作之前我都建议先确认 Console 通道畅通因为远程改 vty 权限是很容易把自己关在门外的一类操作。Telnet 是最容易配通的一种命令少、客户端现成、Windows 和各类终端软件都支持缺点也很直白整条会话包括账号密码都是明文在网络上跑的同一个广播域里有人做抓包就能看到。它在纯内网、临时调试、或者设备版本太老不支持 SSH 的场景下还有存在价值但只要是长期使用的管理通道我不建议只留 Telnet。SSH 是加密通道配置步骤比 Telnet 多两三步核心就是先本地生成一对 RSA 密钥再开服务。它的价值在于同样的操作体验下把凭据和会话内容都保护起来了代价是客户端首次连接要确认一次公钥指纹以及部分老版本终端软件会有兼容性报错。Web 网管是图形界面走 HTTP 或 HTTPS好处是查看端口状态、流量曲线这类信息比命令行直观坏处是页面加载依赖设备性能和浏览器兼容性老平台的 Web 界面在现代浏览器上经常出现按钮错位、样式丢失。我的做法是把它当成辅助手段不作为主要运维入口。登录方式依赖条件安全性适用场景我的建议Console物理接触、配置线最高物理隔离开局、救急、远程失联必须保留Telnet管理 IP 可达、服务开启低明文内网临时调试可开可关别只留它SSH管理 IP 可达、RSA 密钥高加密日常运维主通道优先配置Web管理 IP 可达、HTTP 服务中取决于是否 HTTPS状态查看、非专业用户按需开启这张表不是让你照抄而是提醒你每开一个入口都要能回答谁在用、从哪来、出了问题怎么关。1.2 管理地址从哪来VLAN 与三层接口的规划远程登录的前提是能 ping 通而 ping 通的前提是设备有一个可达的三层接口地址。这台设备出厂时所有端口都在 VLAN 1 里VLAN 1 的接口默认没有配地址。最省事的做法是直接给 Vlan-interface 1 配个地址五分钟就能通但我不推荐长期这么干。原因很实在所有端口默认属于 VLAN 1意味着任何人把网线插到这台设备的任意一个空口上理论上都能摸到管理地址。办公区里有人随手插一台笔记本、或者某台设备网线插错了口你的管理面就暴露在一个完全不受控的广播域里。更稳的做法是单独划一个管理 VLAN比如 VLAN 10只把预留的那一两个口划进去专门接运维终端或者上联到管理网段。地址规划上我一般会留出一个 /24 的私有网段给管理用避开业务网段比如 192.168.10.0/24网关给 .1交换机管理地址从 .2 开始往后排后续加设备就 .3、.4 顺序分配。这里用 /24 而不是更小的掩码是因为管理网段设备数量少但增长不可预期/24 有 254 个可用地址够用很久而且记起来不费脑子——子网掩码写成 255.255.255.0 就行别在设备上纠结写 24 还是写全Comware V5 两种都认但写全不容易出错。提示管理 VLAN 建好之后记得把对应的物理端口划进去只配 VLAN 接口地址而不划端口是最常见的配了但连不上的原因之一。2. 开局那一步绕不开Console 进设备与出厂状态确认远程登录的配置必须建立在已经能本地进去的基础上所以 Console 这一步跳不过去。我见过有人想通过恢复出厂、猜默认密码的方式来省这一步结果把设备搞成半配置状态反而更麻烦。老老实实找根配置线五分钟的事。2.1 线缆与终端参数的实操细节这台设备面板上的配置口是 RJ45 形态需要一根 RJ45 转串口的配置线现在笔记本基本没有串口了中间还得加一个 USB 转串口模块。这套组合的坑主要在驱动上USB 转串口模块装完驱动后在设备管理器里会多出一个串口号比如 COM3 或 COM5终端软件里要选对这一个选错了就是黑屏无输出。终端参数是固定的波特率 9600数据位 8停止位 1校验位无流控无。流控这一项特别容易被忽略某些终端软件默认开着硬件流控接上去就是敲键盘没反应看着像设备死机其实是流控把字符拦住了。我第一次遇到这情况时以为是设备坏了折腾了半小时才想起来改这一项。连接建立后如果屏幕是黑的按一下回车。设备正常情况下会回显一行提示符形如尖括号包起来的主机名出厂默认一般是设备型号缩写。如果按回车还是没反应先确认线序和接口是否插到底再确认终端软件里选的串口号是否正确最后再怀疑线缆本身。注意配置线插拔前最好先退出当前会话带电插拔虽然一般不损坏设备但在设备启动过程中插拔有可能导致启动信息乱码让人误判。2.2 进来之后先看三件事进到命令行第一件事不是急着配地址而是摸清这台设备的现状。我习惯看三个东西软件版本、当前配置、启动配置。对应的命令分别如下。Devicedisplay version Devicedisplay current-configuration Devicedisplay startupdisplay version会告诉你平台版本比如 Comware Software, Version 5.20, Release xxxx 这一类信息。这一步的意义在于后续所有命令语法都要跟平台版本对齐——V5 和 V7 在用户权限、角色这两个概念上写法完全不同搞混了会配出一堆不生效的命令。这台 S5500-52C-EI 属于 V5 平台后面我给的命令都以 V5 为准涉及 V7 的差异我会单独标出来。display current-configuration看的是当前运行配置如果设备之前被人动过这里能看到已有的 VLAN、地址、账号。有些二手设备或者回收设备配置里可能残留着前任管理员的账号和 ACL直接在上面加配置很容易冲突。display startup看的是下次启动加载的配置文件。如果这里的配置文件和当前运行配置不一致说明有人改了没保存。这个细节很关键我在第 7 节会专门讲。2.3 给交换机配一个能被访问到的管理地址确认完现状开始配地址。假设我们采用前面说的管理 VLAN 10网关 192.168.10.1交换机管理地址 192.168.10.2掩码 255.255.255.0。操作分三步建 VLAN、划端口、配三层接口地址。Devicesystem-view [Device]sysname SW-Core-01 [SW-Core-01]vlan 10 [SW-Core-01-vlan10]quit [SW-Core-01]interface GigabitEthernet 1/0/24 [SW-Core-01-GigabitEthernet1/0/24]port link-type access [SW-Core-01-GigabitEthernet1/0/24]port access vlan 10 [SW-Core-01-GigabitEthernet1/0/24]quit [SW-Core-01]interface Vlan-interface 10 [SW-Core-01-Vlan-interface10]ip address 192.168.10.2 255.255.255.0 [SW-Core-01-Vlan-interface10]quit端口编号这里要说明一下不同子型号的电口和光口编号不完全一样敲命令前先用display interface brief看一眼实际存在的接口列表别照抄网上的编号。把运维终端接到 1/0/24 这个口上终端网卡配同网段地址比如 192.168.10.100/24然后 ping 192.168.10.2 验证。如果管理终端不在同一个网段需要跨网段访问那还得有路由。三层交换机做网关的情况下通常要一条默认路由指向出口[SW-Core-01]ip route-static 0.0.0.0 0.0.0.0 192.168.10.1这条命令的意思是所有我不知道往哪送的包都交给 192.168.10.1。很多人配完管理地址发现同网段能通、跨网段不通八成就是缺这条路由或者对端设备没有回程路由。网络是双向的你这边知道怎么去对方也得知道怎么回来。提示管理地址配好后建议先保存一次再继续后续操作。配置远程登录的过程中如果误操作导致会话异常重启后至少还有一个已知可用的管理地址。3. Telnet 远程登录最快能用起来的一条路地址通了接下来就可以开远程通道。我先讲 Telnet不是因为它更好而是因为它步骤少能让你最快确认网络层已经通了、只是应用层还没配把问题范围缩小。配通之后再关掉或者保留取决于你的环境要求。3.1 服务开关与 vty 线路授权远程登录在设备侧由两部分组成一个是服务进程一个是虚拟终端线路。服务进程决定设备是否在 23 端口上监听虚拟终端线路决定连上来的人用什么方式认证、有什么权限。两者缺一不可只开服务不配线路连上去会提示认证失败或者直接被拒。[SW-Core-01]telnet server enable [SW-Core-01]user-interface vty 0 4 [SW-Core-01-ui-vty0-4]authentication-mode scheme [SW-Core-01-ui-vty0-4]protocol inbound telnet [SW-Core-01-ui-vty0-4]user privilege level 3 [SW-Core-01-ui-vty0-4]quit逐条解释一下。telnet server enable是打开服务V5 平台上这个服务默认是开的但显式敲一遍不亏能确认状态。user-interface vty 0 4表示同时配置 0 到 4 这五条虚拟线路也就是最多允许五个并发远程会话这个范围是设备支持的改大改小要看具体型号支持情况。authentication-mode scheme是最关键的一行它表示用 AAA 里的用户名密码来认证。另外两个可选值是none不认证极度危险除非实验室环境否则别用和password只用一个全局密码不区分用户。scheme 方式的好处是每个账号可以独立设置权限、独立停用出问题能追溯到人。protocol inbound telnet限制这条线路只接受 Telnet 协议接入。如果你的规划是只上 SSH这里就写protocol inbound ssh如果两种都要写protocol inbound all。我倾向于明确写死一种减少意外入口。user privilege level 3是 V5 平台的用户级别设置3 是管理级能执行所有命令。这一行和后面 AAA 里用户的 level 是两个层面容易混淆我在 3.3 节展开讲。3.2 三种认证方式怎么选上面选了 scheme就必须在 AAA 里建本地用户否则谁也登不上。建用户的命令是这样的[SW-Core-01]local-user netadmin [SW-Core-01-luser-netadmin]password simple YourStrongPass2024 [SW-Core-01-luser-netadmin]service-type telnet ssh [SW-Core-01-luser-netadmin]level 3 [SW-Core-01-luser-netadmin]quitservice-type这一行决定了这个账号能用哪些服务登录。写telnet ssh表示两种都行只写ssh就只能 SSH。这一步特别容易漏漏了之后表现是密码明明对的就是登不上而且设备不会给你很明确的报错只会提示认证失败。我见过有人在这上面卡了一下午。level 3是这个账号的权限级别。V5 平台上用户名下的 level 和 vty 线路下的 user privilege level实际生效的是两者中较低的那个或者更准确地说用户级别由 AAA 里的设置决定线路上的设置是给非 scheme 认证方式用的。实操上我的建议是两边都写 3避免理解偏差。关于password simple和password cipher的区别这里必须提醒一句V5 平台上用 simple 设置密码执行display current-configuration的时候密码会以明文形式显示出来。这意味着任何能登进设备的人都能看到你这个账号的密码。如果你的运维规范要求配置文件可以外发或者备份到共享目录这就是个实打实的泄密点。V7 平台提供了交互式输入密文的方式V5 上可以用 cipher 参数但要注意后面跟的字符串被当作已加密内容处理直接填明文有可能导致登录失败。稳妥的做法是V5 上用 simple 设置但配套做好配置文件访问控制并且这个密码不要和其他系统复用。3.3 用户级别决定你能敲哪些命令V5 平台的用户级别从 0 到 3权限递增。0 级是参观级基本只能看能敲的只有 ping、tracert 这类诊断命令和少量显示命令1 级是监控级能看大部分 display 输出2 级是系统级能做一些系统配置3 级是管理级全部命令都能用包括创建用户、改 ACL、重启设备。这个分级不是摆设。如果你要给外包人员开一个只能看状态的账号就该给他 level 1而不是图省事给 level 3。我遇到过一台设备上五个账号全是 level 3问起来说当时没想那么多先给最高权限免得后面不够用。这种做法的风险在于任何一个账号泄露攻击者都能直接在设备上建新账号、改 ACL、把自己固化下来。配置级别相关命令的时候有个细节user privilege level这个命令在不同平台写法不同。V5 上是user privilege level 3V7 上改成了user-role network-admin。这两者不通用的你在 V5 设备上敲user-role会直接报错Unrecognized command。这也是我强调开局先display version的原因——照着新版本教程配老设备会浪费大量时间在语法错误上。3.4 连通性验证与抓包确认配置敲完之后从管理终端上测试。Windows 自带 Telnet 客户端默认没启用需要先在系统功能里勾上或者直接用终端软件新建一个 Telnet 会话填管理地址和 23 端口。登录成功的话会看到提示符从尖括号变成你设的主机名。这时候做两件事验证一是敲display users看当前在线会话确认自己这条连接确实是通过 vty 进来的二是敲一条只有 level 3 才能执行的命令比如display current-configuration如果能出结果说明权限给对了。如果连不上先用telnet 192.168.10.2 23这种方式测端口通不通。命令行环境下能连上会直接进登录提示连不上会报连接被拒绝或者超时。超时通常是网络层或 ACL 问题拒绝通常是服务没开或者端口没监听。设备侧可以用display tcp status看当前有哪些 TCP 连接和监听端口能看到 23 端口是不是处于监听状态。注意在设备上执行display tcp status时如果看到 23 端口有大量半连接状态可能是有人在扫描你的管理网段这时候该考虑上 ACL 限制了。4. SSH 远程登录真正该上的方案Telnet 通了之后我的习惯是紧接着把 SSH 配上然后把 vty 的 inbound 改成只允许 SSH。原因前面说过明文传输这件事在内网也不能完全放心——同网段一台被感染的机器就足以把你的管理密码捞走。4.1 密钥生成这一步不能省SSH 和 Telnet 最大的配置差异就在这一步。SSH 需要一对非对称密钥服务端用私钥证明自己身份、用公钥和客户端协商会话密钥。设备出厂时没有这对密钥所以必须先本地生成。[SW-Core-01]public-key local create rsa敲完这条会提示输入密钥长度可选范围一般是 512 到 2048 位默认 1024。建议输入 2048安全性更好。生成过程需要一点时间设备 CPU 在做大数运算这时候别急着敲键盘等它自己算完回到提示符。这一步有个常见的坑如果设备之前生成过密钥再敲这条命令会提示已存在问你是否覆盖。覆盖会改变公钥指纹所有保存过旧指纹的客户端下次连接都会报主机密钥已变更的警告。这在正常运维里是不该出现的一旦出现要么是你真的重新生成了密钥要么就是中间有人在搞事两种情况都值得停下来查一下。密钥生成完之后再开服务[SW-Core-01]ssh server enable [SW-Core-01]ssh server authentication-type default password [SW-Core-01]ssh server compatible-ssh1x enable第二条是设置默认认证方式为密码认证如果不设某些版本上会出现客户端连上来但认证方式协商失败的情况。第三条是兼容 SSHv1 客户端现代终端软件基本都支持 v2但一些内置的、老旧的客户端工具可能只支持 v1。这条要不要开取决于你的工具链开了会降低一点安全性不开可能有些工具连不上。我的做法是先不开遇到连不上再临时开、连上验证完再关掉。4.2 AAA 本地用户与 service-type 的对应关系如果 3.2 节建用户的时候service-type里已经包含了 ssh这一步可以跳过。如果之前只写了 telnet需要补上[SW-Core-01]local-user netadmin [SW-Core-01-luser-netadmin]service-type telnet ssh [SW-Core-01-luser-netadmin]quit同时把 vty 线路的协议限制改成 SSH[SW-Core-01]user-interface vty 0 4 [SW-Core-01-ui-vty0-4]authentication-mode scheme [SW-Core-01-ui-vty0-4]protocol inbound ssh [SW-Core-01-ui-vty0-4]user privilege level 3 [SW-Core-01-ui-vty0-4]quit改protocol inbound这一条的时候要特别小心。如果你当前正通过 Telnet 会话操作改成 ssh 之后现有会话不会立刻断开但下次你就只能用 SSH 登了。所以顺序一定是先确认 SSH 能登上再改这个限制。搞反了就得跑机房。提示改 vty 协议限制、认证方式这类影响登录本身的配置时永远保持两个会话窗口——一个用来改一个保持登录状态不动。改完用新窗口验证验证失败还能从旧窗口改回来。这个习惯救过我至少三次。4.3 客户端连接与首次指纹确认用终端软件新建 SSH 会话填地址、端口默认 22、协议选 SSH2。第一次连接会弹出一个对话框显示服务端的公钥指纹问你是否信任。这一步的本质是防中间人你没法确定对面那台设备真的是你的交换机只能靠首次连接时记住指纹之后每次都比对。指纹确认之后输入用户名密码登录成功。设备侧可以用display ssh server status看 SSH 服务状态包括版本、认证方式、会话数。用display users看在线用户SSH 会话和 Telnet 会话在输出里能区分开。实测下来SSH 登录比 Telnet 稍慢一点因为有密钥协商过程通常多等一两秒属于正常现象。如果超过十秒还没出登录提示就要怀疑中间有设备拦截或者 MTU 问题导致协商包被丢。4.4 V5 和 V7 命令差异踩坑记录这一节值得单独拎出来说因为网上搜到的教程大概率是新版本的照着配到 V5 设备上会各种报错。我把几个高频差异列在下面。功能V5 写法V7 写法线路用户级别user privilege level 3user-role network-admin本地用户授权level 3authorization-attribute user-role network-admin用户密码password simple xxxpassword交互式输入密钥生成public-key local create rsapublic-key local create rsa基本一致服务开启ssh server enablessh server enable除了命令写法还有一个行为差异V7 上一个用户能否登录某类服务除了service-type还受角色user-role控制两处都要配。V5 上没有角色概念一个 level 就决定了。所以在 V5 上配好了账号但登不上 SSH 的情况八成是service-type里没写 ssh而不是权限问题。我第一次接触这个差异时是在一台 V5 设备上照着 V7 教程敲user-role network-admin设备直接回了一行Unrecognized command found at ^ position。当时还以为是自己手误敲错了字母来回核对了好几遍才发现是平台版本不对。从那以后我配任何设备之前都先display version。5. Web 网管图形界面到底要不要开Web 这块我态度比较中性。它有实际价值——查看端口 up/down 状态、看流量趋势、批量看 MAC 地址表图形界面确实比命令行效率高。但它也有明显短板老平台的 Web 页面在现代浏览器上经常排版错乱某些按钮点了没反应排查起来比命令行还费劲。5.1 HTTP 与 HTTPS 的开启V5 平台上开 Web 需要两步一步是打开 HTTP 服务一步是给账号授权 web 服务类型。[SW-Core-01]ip http enable [SW-Core-01]ip https enable [SW-Core-01]local-user netadmin [SW-Core-01-luser-netadmin]service-type telnet ssh web [SW-Core-01-luser-netadmin]quitip http enable开的是 80 端口的 HTTPip https enable开的是 443 端口的 HTTPS。两个都开的话浏览器访问 http:// 会自动跳或者需要手动改成 https://。从安全角度我建议只开 HTTPS把 HTTP 关掉因为 HTTP 同样存在明文传输密码的问题和 Telnet 是一个性质。只开 HTTPS 之后部分老浏览器会提示证书不受信任这是因为设备用的是自签证书属于正常现象点继续访问即可。如果设备版本支持导入证书可以把证书换成内部签发的这样就不会有告警。5.2 权限与端口Web 登录进去之后的权限同样受账号的 level 控制。给 level 1 的账号登 Web只能看不能改。这一点在做只读监控账号时很有用——给运维值班的同事一个 level 1 的 Web 账号他能自己看端口状态不用每次都来找你。端口方面HTTP 默认 80HTTPS 默认 443。有些环境出于规范要求会改端口但 V5 平台上改 Web 端口的支持比较有限不同版本行为不一致我不太建议在这上面花时间。如果确实有端口规范要求用 ACL 限制源地址比改端口更有效、更稳妥。Web 界面我一般在配完命令行之后顺手验证一下能打开就关了不作为日常入口。真正干活还是命令行快尤其是批量改 VLAN 或者查路由的时候图形界面一层层点进去反而慢。6. 加固别让远程登录变成后门到这里Telnet、SSH、Web 三条路都能通了。但能通和安全是两回事。我见过太多设备管理服务全开、账号密码是 admin/admin、源地址不限制等于在网络上挂了个公共入口。加固这一步不难但很多人配完能登录就收工了。6.1 用 ACL 把登录源地址锁死最有效的一招是限制谁能连管理端口。做法是建一个基本 ACL只放行运维网段其余全部拒绝然后把这个 ACL 应用到 vty 线路上。[SW-Core-01]acl number 2000 [SW-Core-01-acl-basic-2000]rule 0 permit source 192.168.10.0 0.0.0.255 [SW-Core-01-acl-basic-2000]rule 5 deny [SW-Core-01-acl-basic-2000]quit [SW-Core-01]user-interface vty 0 4 [SW-Core-01-ui-vty0-4]acl 2000 inbound [SW-Core-01-ui-vty0-4]quit这里的source 192.168.10.0 0.0.0.255用的是反掩码写法0 表示必须匹配255 表示任意。所以这条规则的意思是源地址在 192.168.10.0 到 192.168.10.255 之间的放行。rule 5 的 deny 是兜底拒绝其他所有来源。规则编号 0 和 5 之间留了间隔方便以后插入新规则。应用 ACL 之后立刻验证从允许的网段登一次确认能进如果条件允许从一个不在允许列表里的地址试一次确认被拒。这一步不能省我遇到过 ACL 写反了导致自己被锁在外面的情况——好在当时 Console 线还插着从本地进去改回来的。注意ACL 应用在 vty 上是入方向管的是谁连进来不影响设备主动发起的连接。另外如果你是通过一条已经建立的会话在配这条 ACL配置生效后现有会话通常不会被立刻踢掉但新连接会按新规则执行。6.2 超时、并发、重试参数的取值逻辑vty 线路上有几个参数值得调一下都是跟会话管理相关的。[SW-Core-01]user-interface vty 0 4 [SW-Core-01-ui-vty0-4]idle-timeout 10 0 [SW-Core-01-ui-vty0-4]screen-length 30 [SW-Core-01-ui-vty0-4]history-command max-size 20 [SW-Core-01-ui-vty0-4]quitidle-timeout 10 0设置空闲超时为 10 分 0 秒。默认值通常也是 10 分钟。这个值的取舍逻辑是这样的设太短你看个配置文档回来会话就断了得重新登设太长人走了没退出会话一直占着别人连不上而且终端没人看着也是个风险。10 到 15 分钟是比较舒服的区间。设置为 0 表示永不超时除非特殊场景我不建议。并发数由user-interface vty 0 4决定五条线路就是五个并发。如果你的运维团队人多或者有自动化脚本要连可能会不够用。扩大范围要看设备支持多少个 vty敲user-interface vty ?能看到上限。但并发数开太大也不好会占用设备资源一般团队五到十个足够。screen-length 30是设置每屏显示多少行后暂停敲空格继续。默认 24 行改大一点少按几次空格。这个纯粹是体验优化不影响功能。history-command max-size 20是历史命令缓存条数用方向键上翻可以调出之前敲过的命令。默认值可能只有 10 条改大点在做复杂配置时很方便。6.3 关掉不用的服务、管好密码明文加固的最后一步是清理。配完 SSH 并且验证稳定之后如果环境允许把 Telnet 服务关掉[SW-Core-01]undo telnet server enableWeb 如果不用同样处理[SW-Core-01]undo ip http enable [SW-Core-01]undo ip https enable关之前一定要确认还有别的通道能进。我的顺序是Console 保底 → 配 SSH 并验证 → 关 Telnet → 观察一周 → 关 Web。中间任何一步出问题都能回退。密码管理这块除了前面说的 V5 上配置文件明文显示的问题还有个细节定期改密码这件事在设备上没法自动做得靠流程。我自己的做法是把管理密码存在密码管理器里设个日历提醒每季度换一次换的时候同步更新所有相关设备的配置备份说明。听起来麻烦但比出了事再补救省事。另外service-type里别留多余的服务。比如你只打算用 SSH就别在 service-type 里写 telnet。虽然服务关了 telnet 也进不来但配置上的冗余会让人产生误解接手的人看到 service-type 里有 telnet 会以为这条通道是开着的。7. 常见问题与排查实录这一节是我这些年在这类设备上踩过的坑的汇总。远程登录连不上原因就那么几类按层次排查比瞎试快得多。7.1 连不上的分层排查顺序我的排查顺序固定是物理层 → 网络层 → 传输层 → 应用层一层一层往上走不要跳。物理层看线插没插、口灯亮不亮、终端网卡是不是 up。这一步最容易被跳过觉得线肯定没问题结果就是线松了。网络层看能不能 ping 通管理地址。ping 不通的话用display ip interface brief看 VLAN 接口是不是 up。这里有个反直觉的点VLAN 接口的物理状态跟着 VLAN 里有没有 up 的端口走如果 VLAN 10 里一个 up 的端口都没有Vlan-interface 10 就是 down 的地址配了也不通。这是新手最容易卡住的地方。传输层看端口通不通。设备侧用display tcp status看 22、23 端口有没有在监听。没监听就是服务没开。客户端侧可以用 telnet 命令加端口号测能连上会直接进登录提示。应用层才是账号密码、协议类型、ACL 这些。这三层都通了还登不上才去查display local-user、display ssh server status、vty 的 ACL。现象最可能的原因排查命令处理方式ping 不通管理地址VLAN 接口 down / 端口没划进 VLANdisplay ip interface brief、display vlan 10检查端口状态和 VLAN 成员ping 通但连不上 23Telnet 服务未开display tcp statustelnet server enable提示认证失败本地用户未建 / service-type 不含对应协议display local-user补 service-type密码对但登不上用户 level 不足或被 ACL 拦display local-user、display acl 2000检查 level 和 ACL 规则SSH 连接被拒RSA 密钥未生成display ssh server statuspublic-key local create rsaSSH 协商失败客户端版本不兼容客户端日志临时开启 SSHv1 兼容登录后命令不全用户级别是 1 或 2display local-user调整 level重启后配置丢失未执行 savedisplay startup执行 save 保存这张表我基本是照着背下来的遇到问题先对号入座能省掉大半排查时间。7.2 登上了但权限不对这个问题的表现是能登进去提示符也对但敲某些命令提示Permission denied或者直接不识别。原因基本就两个用户 level 不够或者 vty 上的user privilege level设得比 AAA 里低。排查步骤是先display local-user看这个账号的 level 是多少再看 vty 配置。V5 上用户名下的 level 是权威设置线路上的设置主要影响非 scheme 认证。如果两边都设了 3 还是不行那就看是不是这个命令本身在当前平台不支持——比如你想在 V5 上敲 V7 的命令提示的是Unrecognized command不是权限问题两者报错信息不一样注意区分。还有一种情况是自己把自己降权了用当前账号修改了自己的 level从 3 改成 1改完之后当前会话不会立刻失效但下次登录就是 1 级了。这时候如果没别的 3 级账号就只能靠 Console 进去改回来。这也是为什么我建议至少保留一个备用的 3 级账号平时不用只在紧急情况启用。7.3 重启后配置全没了这个问题在老设备上出现频率不低原因只有一个配完了没保存。Comware 的运行配置在内存里掉电或者重启就没了只有执行save才会写到启动配置文件里。SW-Core-01save执行后会问是否保存到当前文件名输入 Y 确认。保存完用display startup核对一下看Current startup saved-configuration file和Next main startup saved-configuration file指向的是不是你以为的那个文件。有些设备上存在多个配置文件启动时加载的可能不是你刚保存的那个。我有个习惯每次做完一批配置不管大小都执行一次 save。代价是几秒钟收益是避免一次通宵。曾经有一次改完 ACL 忘了保存第二天设备因为机房断电重启ACL 全没了之前拦住的扫描流量又回来了好在发现得早。提示save 的时候如果提示配置文件已存在是否覆盖选覆盖。另外保存前最好确认当前配置是你想要的状态别把半截配置存进去了。7.4 会话被自己踢掉怎么办这个场景听起来好笑但很常见正在配 vty 的 ACL规则写反了把当前来源地址 deny 了。现有会话不会立刻断但你一退出就再也进不来了。应对办法有两个层面。事前层面就是前面反复说的双窗口保底——一个窗口改一个窗口不动。事后层面如果真的被锁在外面只能靠 Console 本地进去用display acl 2000看规则把错误的那条undo掉。所以 Console 通道的物理可达性一定要保证别把配置线收起来放到仓库最里面。还有一个类似的场景是改protocol inbound。把 vty 从 telnet 改成 ssh如果你还没验证 SSH 能登就退出了 Telnet 会话那就只能跑机房。这个我在 4.2 节强调过这里再提一次因为踩的人真的多。设备侧还可以用display users看当前在线会话输出里每一行有个流水号如果某个会话卡死了占着线路可以用free user-interface vty 0强制释放。这个命令要慎用别把正在干活的同事踢了。8. 配置备份与批量维护的一点延伸单台设备的远程登录配完事情其实只做了一半。真实环境里这类设备往往不止一台接入层十几台、汇聚层两三台是常态。如果每台都手工敲一遍一是慢二是容易漏。我的做法是先把一台配好、验证通过然后把配置导出成文本作为模板。导出用display current-configuration把输出完整保存下来。之后配新设备时把模板里跟本机相关的部分改掉——主机名、管理地址、默认路由——其余部分直接粘贴。粘贴的时候要注意终端软件的粘贴速度和设备的处理能力。一次性粘贴几百行设备可能来不及处理导致丢字符表现为某几条命令没生效。稳妥的做法是分段粘贴每段几十行粘完用display current-configuration核对一遍。有些终端软件支持设置字符发送间隔调成每字符几毫秒能明显减少丢字符。配置备份这件事也值得提一句。设备上的配置建议定期导出保存保存的时候注意前面说的密码明文问题——如果配置文件要放在共享目录至少加个压缩密码。我一般是每季度导一次改过配置就额外导一次文件名带上日期出问题能回溯到某个时间点的状态。回过头看给一台 S5500-52C-EI 配远程登录这件事本身不复杂命令加起来不到二十行。真正花时间的是那些细节管理 VLAN 怎么划、V5 和 V7 的命令差异、改配置的时候怎么保住自己的会话、配完记得 save。我个人在实际操作中的体会是凡是涉及登录入口的配置永远给自己留一条退路再动手——Console 线别拔、旧会话别关、改完先验证再收尾。这套习惯养成之后配置本身反而成了最轻松的部分。