Cisco IOS 交换机(C9200/3850/2960 等)修改已有密码
原理:直接重复输入相同命令覆盖旧密码,不需要先删旧密码。
! 关闭不安全的telnet,开启ssh
no service telnet
service ssh
exit
查看当前 vty 在线会话,看谁占用 vty
show users

强制踢掉某个在线用户
clear line vty x

transport input 命令控制允许那些协议接入
默认
transport input telnet ssh #telnet ssh都允许
举例
Switch(config)# line vty 0 15 #选定vty 0-15 16条线路
Switch(config-line)# transport input ssh #只允许ssh

Switch(config-line)# transport input none #全部禁止ssh telnet 换言只允许consloe

show running-config | section line vty #查看transport 配置

修改特权密码
Switch>enable
Switch#configure terminal
Switch(config)# enable secret 新密码@2026 #修改特权密码要在全局#模式下执行后直接覆盖原来的 enable的密码,secret是加密参数 老的还有 password参数但是明文存储,不建议使用。1. 密码支持大小写、数字、特殊符号,不能有问号、空格2. 改完可以新开一个窗口测试登录,确认没问题再保存,防止锁死

修改 Console 控制台密码
Switch(config)# line console 0 #进入line console 0 接口
Switch(config-line)# password 新Console密码
Switch(config-line)# login #login 开启登录身份验证,要console登录时输入密码。
Switch(config-line)#exit

修改 VTY 远程登录密码(telnet)
Switch(config)# line vty 0 15 #0 15 代表0-15 16条vty Vitural Tpye Terminal 虚拟终端线路 远程 SSH Telnet就要占用vty线路 全局模式下 输入line vty 0 15 换行输入login local 表明0-15 16个通道全部启用本地账号认证
Switch(config-line)# password 新VTY密码
Switch(config-line)# login #login 开启登录身份验证,要求远程登录(telnet/ssh)时输入密码。
Switch(config-line)#exit

telnet 密码是明文传输, 建议不要用了改用SSH SSH必须有用户名也就是必须要AAA本地账号 (login local, 账号库认证) 和密码如下
AAA 本地账号密码(SSH 用,username 用户)
Switch(config)# username admin privilege 15 password 新Admin密码
命令解释 username命令 用户名 权限等级 15(最高了进去就是特权) password (改密参数) 新密码

举例:
username admin privilege 15 password xxx
创建一个叫 admin 的管理员账号,密码是 xxx,登录上来直接最高权限,不用 enable

补充关键点

  1. 就算用login local,telnet 和 ssh 只是登录协议不同,账号密码是同一套本地用户数据库。
  2. 生产环境:尽量关闭 telnet(明文传输,密码抓包直接看到),只用 SSH 加密登录。
    3.很多人以为 vty 是 telnet 专属,vty 是虚拟终端线路,Telnet 和 SSH 都走 vty 线路,区别是认证方式和传输协议。

关闭 telnet 命令(IOS)
configure terminal
no service telnet
! 开启ssh
service ssh
exit
write

看当前有多少vty线路
show line

所有 16 个远程通道,全部启用本地账号认证
line vty 0 15
login local

** exec-timeout 命令**
作用:远程登录(vty)会话空闲超时,超时自动断开连接,释放 vty 通道,防止账号一直挂着占住座位。
exec-timeout <分钟> <秒>
举例
Switch(config)# line vty 0 15
Switch(config-line)# exec-timeout 5 0

含义:空闲 5 分钟,自动断开远程连接

exec-timeout 2 30
空闲 2 分 30 秒断开

exec-timeout 0 0
永不超时!

IOS 默认超时:10 分钟
恢复默认
no exec-timeout
exec-timeout 10 0

Console 口同样可以配置超时
Switch(config)# line console 0
Switch(config-line)# exec-timeout 3 0

 posted on 2026-09-18 14:04  路边一菜贩  阅读(24)  评论(0)    收藏  举报