H3C Radius 认证和SSH本地管理分离
摘要:H3C V7交换机配置SSH登录失败问题排查与解决方案 问题现象:配置SSH后无法登录,提示用户名不存在。 核心原因: RADIUS认证配置覆盖了本地认证,导致SSH登录被错误导向RADIUS服务器 未正确分离802.1X认证(需RADIUS)和SSH登录(需本地)的认证路径 解决方案: 创建RADIUS方案:指定服务器IP、端口和共享密钥 配置ISP域策略: authentication
H3C V7 版本,配置完SSH后发现无法登录,提示用户名不存在
已有配置如下:
ssh server enable
public-key local create rsa
ssh user admin service-type stelnet authentication-type password
quit
local-user admin class manage
password simple xxxxxxx
service-type ssh
authorization-attribute user-role network-admin
交换机配置了Radius认证:
当802.1X采用远程RADIUS服务器认证时,H3C V7交换机需要明确划分不同认证方法的适用范围,关键在于 RADIUS方案的创建 和 ISP域的精准调用。
🔄 与本地认证的配置差异对比
| 配置环节 | 本地认证 | RADIUS远程认证 |
|---|---|---|
| 802.1X用户存储 | 交换机本地local-user |
RADIUS服务器(如IMC、ISE) |
| RADIUS方案 | 无需创建 | 必须创建,指定服务器地址、端口、密钥 |
| ISP域认证方法 | authentication lan-access local |
authentication lan-access radius-scheme <方案名> |
| SSH认证方法 | authentication login local |
authentication login local(保持不变) |
简单来说,就是要新配一个RADIUS方案,然后在ISP域里"告诉"交换机:802.1X用户去找RADIUS,SSH登录还请继续看本地。
一、创建 RADIUS 方案(核心第一步)
RADIUS方案定义了交换机如何与远程RADIUS服务器通信。创建思路如下:
- 指定RADIUS服务器的认证端口(通常为UDP 1812)和计费端口(UDP 1813)。
- 配置与RADIUS服务器一致的共享密钥,这是双方信任的基础。
- (可选)根据需求配置用户名格式(是否携带域名)、NAS-IP等参数。
完整配置示例(假设RADIUS服务器IP为 192.168.1.12,密钥为 h3c):
[Switch] radius scheme rad
[Switch-radius-rad] server-type extended # 使用扩展类型,可配合IMC等使用更多特性
[Switch-radius-rad] primary authentication 192.168.1.12 1812
[Switch-radius-rad] primary accounting 192.168.1.12 1813
[Switch-radius-rad] key authentication simple h3c
[Switch-radius-rad] key accounting simple h3c # 认证和计费的共享密钥必须一致
[Switch-radius-rad] user-name-format without-domain # 发往RADIUS的用户名不携带域信息
[Switch-radius-rad] quit
💡 关键点:
server-type extended是在与H3C IMC等服务器配合时的推荐选项,可发挥更多扩展功能。user-name-format without-domain确保RADIUS服务器收到的用户名是"纯"用户名,没有"@domain"的后缀。
二、在 ISP 域中配置分离的认证策略(核心第二步)
ISP域是实现"各走各路"的关键配置场所。我们需在域视图下明确指定802.1X(lan-access) 走RADIUS,而SSH(login) 走本地。
完整配置示例(假设域名为 system):
[Switch] domain system
[Switch-isp-system] authentication lan-access radius-scheme rad # 802.1X认证:指向RADIUS
[Switch-isp-system] authorization lan-access radius-scheme rad # 802.1X授权:同样指向RADIUS
[Switch-isp-system] accounting lan-access radius-scheme rad # 802.1X计费:若有需要
[Switch-isp-system] authentication login local # SSH登录:仍然使用本地认证
[Switch-isp-system] quit
[Switch] domain default enable rad #设置默认认证域
💡 关键点:第2行和第5行的配置就是实现功能分离的精髓。
- 802.1X(lan-access):认证、授权、计费全部导向刚创建好的RADIUS方案
rad。- SSH登录(login):保持
local本地认证,让交换机只认本地创建的admin账号。
三、SSH 本地认证的配套准备(保持不变)
为确保SSH能正确使用本地账号,之前的SSH本地认证配置全部保留,无需改动。
前置检查项摘要:
# 1. 检查VTY线路认证模式
[Switch] user-interface vty 0 4
[Switch-ui-vty0-4] authentication-mode scheme # 确保为 scheme(AAA)模式
[Switch-ui-vty0-4] protocol inbound ssh # 仅允许SSH登录
[Switch-ui-vty0-4] quit
# 2. 检查SSH管理用户的 service-type
[Switch] local-user admin class manage
[Switch-luser-manage-admin] service-type ssh # 确保包含 ssh 类型
[Switch-luser-manage-admin] authorization-attribute user-role network-admin
⚠️ 安全提醒:为了更高的安全性,建议使用
password hash设置用户密码,或在全局开启password-control功能以要求密码复杂度。
🛡️ 配置备用认证(优化方案)
当RADIUS服务器不可达时,可以配置本地认证作为备选,避免802.1X用户无法上网。具体配置步骤如下:
-
检查dot1x认证方式:确保全局的802.1X认证方法为
eap,这是远程RADIUS认证的常见要求:[Switch] dot1x authentication-method eap -
配置ISP域备用认证:在ISP域视图下,为
lan-access指定备用认证方法:[Switch] domain system [Switch-isp-system] authentication lan-access radius-scheme rad local [Switch-isp-system] authorization lan-access radius-scheme rad local # 计费一般不做备选,以免产生不必要的计费记录 -
检查802.1X协议版本:建议使用
dot1x version 2或更高版本以获得更好的兼容性:[Switch] dot1x version 2
💡 解释:配置
local作为备选后,当RADIUS服务器无响应时,交换机会自动转而使用本地创建的local-user账户进行认证,作为保底方案。
📌 注意事项
- 认证方法差异:
dot1x authentication-method是全局配置,需根据客户端支持的EAP方法选择eap、chap或pap。 - 端口与网络:确保交换机与RADIUS服务器之间UDP 1812(认证)和 1813(计费)端口畅通。
- 密钥一致性:RADIUS方案中的共享密钥必须与RADIUS服务器侧配置的密钥完全一致。
✅ 配置验收
完成所有配置后,建议按以下顺序验证:
1. 检查 RADIUS 方案
[Switch] display radius scheme rad
查看服务器IP、端口、密钥状态是否与预期一致。
2. 检查 ISP 域配置
[Switch] display domain system
重点确认以下两项:
lan-access的认证和授权方法是否指向radius-scheme rad。login的认证方法是否为local。
3. 检查 802.1X 全局状态
[Switch] display dot1x
确认802.1X已全局开启,认证方法正确(如 eap),并在目标接口(如 GE1/0/1)上已激活。
4. 检查本地用户
[Switch] display local-user
确认 admin 用户的 service-type 包含 ssh,并且用户状态为 active。
快速排障:如果SSH登录失败,请逐一检查VTY线路的认证模式是否为
scheme、SSH用户的服务类型是否包含ssh、以及ISP域下authentication login是否配置为local。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)