SSH(Secure Shell)是远程管理
网络设备的安全协议,通过加密通信避免数据泄露,相比
Telnet 更适合生产环境。
奥德彪学习网以华为 S 系列
交换机(VRP 系统 V200R005 及以上版本)为核心,详细拆解 SSH 登录配置的六大核心步骤,涵盖基础网络准备、密钥对生成、服务启用、认证方式配置、访问源限制及登录验证,同时提供两种认证模式(密码认证 / 密钥认证)和
常见问题排查方案,帮助运维人员快速实现安全、可靠的远程
设备管理。
- 交换机已配置管理 IP 地址(推荐 VLANIF 接口 IP,用于 SSH 客户端连接);
- 交换机与 SSH 客户端之间网络可达(通过 ping 命令验证管理 IP 连通性);
- 已通过 Console 口或 Telnet 登录交换机(首次配置需通过 Console 口操作)。
SSH 客户端需通过管理 IP 建立连接,优先将 IP 配置在 VLANIF 接口(以默认 VLAN 1 为例,假设客户端连接端口属于 VLAN 1):
<Huawei> system-view
[Huawei] sysname Switch
[Switch] vlan 1
[Switch] interface vlanif 1
[Switch-Vlanif1] ip address 192.168.1.10 24
[Switch-Vlanif1] quit
SSH 依赖密钥对实现加密通信,需在交换机上生成 RSA 密钥对(兼容性最优,推荐密钥长度≥2048 位):
[Switch] rsa local-key-pair create
执行后按提示输入密钥长度(默认 2048 位),输入
y确认生成。
验证密钥:执行display rsa local-key-pair public命令,可查看公钥信息确认生成成功。
默认 SSH 服务未启用,需手动开启并指定安全协议版本(优先 SSHv2,禁用不安全的 SSHv1):
[Switch] stelnet server enable
[Switch] ssh server compatible-ssh1x disable
[Switch] ssh server version 2
SSH 支持密码认证(简单易用,适合新手)和密钥对认证(高安全,推荐生产环境),可单独配置或组合使用(双因素认证)。
通过创建本地用户并关联 AAA 认证,实现密码登录:
[Switch] aaa
[Switch-aaa] local-user admin password cipher Admin@123
[Switch-aaa] local-user admin service-type ssh
[Switch-aaa] local-user admin privilege level 15
[Switch-aaa] quit
需先在 SSH 客户端生成密钥对,再将公钥上传至交换机,实现无密码(或双因素)登录:
-
客户端生成密钥对(以 Xshell 为例):
打开 Xshell → 工具 → 新建用户密钥生成向导 → 选择 RSA 算法(密钥长度 2048 位)→ 生成后保存私钥(如id_rsa)和公钥(如id_rsa.pub)。
-
交换机导入客户端公钥:
[Switch] ssh user client001
[Switch] ssh user client001 authentication-type publickey
[Switch] ssh user client001 assign publickey client001_pubkey
[Switch] public-key peer client001_pubkey import sshkey id_rsa.pub
- 可选:双因素认证(密码 + 公钥):
[Switch] ssh user client001 authentication-type password-publickey
需同时配置该用户的本地密码(参考方式 1 的 AAA 配置步骤)。
通过 ACL(访问控制列表)限制仅可信 IP 可尝试 SSH 登录,拒绝非法 IP 访问:
[Switch] acl 2000
[Switch-acl-basic-2000] rule permit source 192.168.1.100 0
[Switch-acl-basic-2000] rule deny source any
[Switch-acl-basic-2000] quit
[Switch] user-interface vty 0 4
[Switch-ui-vty0-4] authentication-mode aaa
[Switch-ui-vty0-4] protocol inbound ssh
[Switch-ui-vty0-4] acl 2000 inbound
[Switch-ui-vty0-4] quit
所有配置完成后,需保存至交换机 Flash 内存:
按提示输入y确认保存,配置将在设备重启后依然生效。
- 打开 Xshell → 新建会话 → 协议选择 SSH → 主机填写交换机管理 IP(如 192.168.1.10),端口默认 22;
- 若为密码认证:输入用户名(如 admin)和密码(如 Admin@123),即可登录;
- 若为密钥认证:在会话属性 → 验证 → 选择 “公钥” → 导入客户端保存的私钥(如 id_rsa),无需输入密码(双因素认证需额外输入密码)。
[Switch] display ssh server status
[Switch] display ssh user-information
[Switch] display acl 2000
[Switch] display users
-
SSH 连接超时:
- 检查管理 IP 配置是否正确(
display interface vlanif 1);
- 验证客户端与交换机网络可达(ping 管理 IP);
- 确认 SSH 服务已启用(
display ssh server status查看 Enable 字段为 Yes)。
-
认证失败:
- 密码认证:检查用户名 / 密码是否正确、用户服务类型是否为 SSH(
display local-user admin);
- 密钥认证:确认公钥导入完整、SSH 用户认证类型为 publickey(
display ssh user-information)。
-
ACL 限制导致无法登录:
执行display acl 2000查看规则,确认客户端 IP 在允许列表中,或临时关闭 ACL 测试(undo acl 2000 inbound)。
- 生产环境优先使用密钥对认证,避免密码泄露风险;
- 定期更换密钥对和本地密码(密码建议包含大小写、数字、特殊字符,长度≥8 位);
- 严格通过 ACL 限制访问源,仅允许运维终端所在 IP 段访问;
- 禁用 SSHv1 协议,仅保留更安全的 SSHv2;
- 限制 VTY 会话数量(默认 0-4,可根据需求调整),避免并发攻击。