4. 命令行界面入门:设备登录方式与CLI基本模式切换

说实话,很多刚入行的朋友觉得网络设备配置就是敲命令。但敲命令之前,你得先连上设备。连都连不上,后面全是白搭。

这一章,我带你走一遍设备登录的三种主流方式——Console、Telnet、SSH。顺便把CLI的基本模式讲清楚。这些东西看着基础,但我在项目里见过太多人在这上面翻车。

4.1 三种登录方式:你该用哪个?

先看一张总览图,把三种方式的关系理清楚。

设备登录方式总览图 设备登录方式总览 网络设备 Console(物理串口) Telnet(明文远程) SSH(加密远程) Console 特点 • 物理连接,无需IP • 适合首次配置/故障恢复 • 需要专用线缆和软件 • 本地操作,安全性最高 Telnet 特点 • 远程登录,需要IP • 明文传输,不安全 • 配置简单,兼容性好 • 生产环境已淘汰 SSH 特点 • 远程登录,需要IP • 加密传输,安全可靠 • 支持密钥认证 • 生产环境首选

4.2 Console登录:第一次接触设备的必经之路

Console口,说白了就是设备屁股上的那个RJ45或DB9串口。新设备第一次上电,没有IP地址,你只能靠它。

你需要准备什么?

  • Console线(通常是RJ45转DB9,或者USB转Console)
  • 终端软件(SecureCRT、PuTTY、Xshell都行)
  • 知道波特率——绝大多数设备默认是9600

连接步骤:

  1. 用Console线连接电脑串口和设备Console口
  2. 打开终端软件,新建串口会话
  3. 配置参数:波特率9600,数据位8,停止位1,无校验,无流控
  4. 设备上电,终端窗口应该能看到启动信息
  5. 按回车,出现提示符,搞定
我的习惯:每次用Console前,我都会先确认一下设备型号的默认波特率。有些老设备是19200,华为有些设备是115200。波特率不对,屏幕上全是乱码。别问我怎么知道的——我曾经对着满屏的乱码折腾了半小时才发现是波特率设错了。

4.3 Telnet登录:简单但危险

Telnet是最早的远程登录协议。它最大的问题——所有数据都是明文传输。包括你的密码。

你想想看,你在办公室Telnet到核心交换机,隔壁工位的人用Wireshark抓个包,你的密码就裸奔了。所以现在生产环境基本不用Telnet了。

但为什么还要学?

  • 很多老旧设备只支持Telnet
  • 实验环境里快速验证很方便
  • 理解Telnet的缺陷,你才会真正重视SSH

Telnet配置示例(以思科为例):

!
! 开启Telnet服务(默认已开启)
line vty 0 4
 password cisco123
 login
!
! 配置管理IP
interface vlan 1
 ip address 192.168.1.1 255.255.255.0
 no shutdown
!

然后在电脑上执行:telnet 192.168.1.1,输入密码就能登录。

警告:千万不要在公网或不可信网络中使用Telnet。我曾经在一个客户现场看到有人用Telnet管理核心路由器,结果被中间人攻击,整张网被人植入了后门。那次事故之后,客户把所有Telnet都换成了SSH。

4.4 SSH登录:生产环境的标准答案

SSH(Secure Shell)就是Telnet的加密升级版。它用公钥加密技术保护你的会话,密码和命令都不会被窃听。

SSH配置示例(思科):

!
! 配置主机名和域名(SSH需要)
hostname R1
ip domain-name example.com
!
! 生成RSA密钥对
crypto key generate rsa modulus 2048
!
! 配置VTY线路支持SSH
line vty 0 4
 transport input ssh
 login local
!
! 创建本地用户
username admin secret admin123
!
! 开启SSH服务(默认版本2)
ip ssh version 2
!

连接命令:ssh admin@192.168.1.1

关键对比:
特性 Telnet SSH
加密 无(明文) 有(加密)
默认端口 23 22
认证方式 密码 密码/密钥
生产环境 不推荐 强烈推荐

4.5 CLI基本模式:你敲命令的地方

登录设备之后,你面对的就是CLI。不同厂商的模式名称略有差异,但逻辑大同小异。我以思科为例,因为它的模式划分最典型。

三种核心模式:

模式名称 提示符 能做什么 进入命令
用户模式 > 查看基本信息,不能改配置 默认登录后
特权模式 # 查看所有信息,重启设备 enable
全局配置模式 (config)# 修改设备配置 configure terminal

从全局配置模式还能进入更具体的子模式,比如接口模式、线路模式、路由协议模式等。

模式切换示例:

! 用户模式
Router> enable
! 特权模式
Router# configure terminal
! 全局配置模式
Router(config)# interface gigabitethernet 0/0
! 接口配置模式
Router(config-if)# exit
Router(config)# exit
Router# disable
Router>
避坑指南:我曾经见过新手在全局配置模式下直接敲接口命令,结果命令没生效,还以为是设备坏了。记住:你在哪个模式,就只能敲那个模式的命令。不确定的时候,看一眼提示符——>、#、(config)#,一目了然。

4.6 模式切换的完整流程

把登录方式和模式切换串起来,就是完整的设备操作流程。我画了张图,你一看就明白。

设备登录与模式切换流程 设备登录与CLI模式切换流程 Console/Telnet/SSH 用户模式 > 特权模式 # 全局配置 (config)# 子模式 (config-xxx)# exit / end 返回 模式切换口诀 登录进用户(>),enable进特权(#),conf t进全局((config)#) exit 退一级,end 直接回特权,disable 退回用户模式

4.7 几个实用小技巧

  • Tab键补全:敲命令时按Tab,自动补全。我敲命令几乎从来不敲全,都是Tab补出来的。
  • 问号帮助:在任何模式下敲?,显示当前模式所有可用命令。记不住命令?问号就是你的救命稻草。
  • 上下箭头:调出历史命令,不用重复敲。
  • Ctrl+Z:从任何子模式直接回到特权模式,比敲end快多了。
注意:在Console口下,如果设备正在启动,不要乱敲键盘。启动过程中的按键可能会被设备解释为中断指令,导致启动失败。我见过有人手贱按了Ctrl+Break,结果设备直接进了ROMmon模式,折腾了半天才恢复。

好了,这一章的内容就这些。Console、Telnet、SSH三种登录方式,加上CLI的模式切换,是后续所有配置操作的基础。把这些练熟了,后面敲命令才能行云流水。