微信优化

weixinyouhua

如何配置H3C SSH?H3C SSH配置命令与步骤详解

2026-09-02 10:35:07

H3C交换机开启SSH远程管理,核心配置思路就三步:生成RSA密钥对、创建SSH用户并绑定认证方式、在VTY接口调用SSH协议。这套流程在H3C V7版本和V5版本上有细微差异,本文会把两条路线的命令都拆开讲清楚,顺带解决你大概率会遇到的连接被拒绝、密码登录失效等实际问题。

配置前必须搞清楚的三个前提

很多人在H3C设备上配SSH失败,不是命令敲错,而是前置条件没满足,动手之前先自查这三项。

设备SSH服务是否已启动,H2C设备默认不开SSH服务,得手动敲ssh server enable,这条命令全局生效,V5和V7版本通用。

管理网段是否可达,SSH走TCP 22端口,你的电脑到交换机之间必须三层互通,用ping测一下管理地址,不通就先把路由搞定,别急着配SSH。

软件版本差异,H3C的Comware平台分V5和V7两大体系,V5老设备(比如S5500-EI系列)和V7新设备(比如S5560X系列)在SSH配置命令上有区别,下文会单独列出,先通过display version确认当前版本,再对号入座。

h3c ssh配置命令详解:V7版本完整操作流程

当前主流H3C设备跑的都是Comware V7,下面这套命令在S5130、S5560X、MSR系列上通用。

第一步:生成本地RSA密钥对

[H3C]public-key local create rsa
The range of public key size is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the bits in the modulus [default = 2048]: 2048

密钥长度建议直接选2048位,这是当前安全基线要求,生成过程大概几十秒到几分钟不等,设备性能越好越快。

第二步:配置SSH用户认证策略

V7版本默认支持密码认证和公钥认证两种模式,日常运维用得最多的是密码认证,配置相对简单:

[H3C]ssh user admin
[H3C]ssh user admin authentication-type password
[H3C]ssh user admin service-type stelnet

这里有三条命令,分开解释:

  • ssh user admin:创建设备管理用户,注意这个用户必须和本地用户库里的账号对应
  • authentication-type password:指定认证方式为密码认证
  • service-type stelnet:指定服务类型为SSH(stelnet就是SSH登录的意思)

第三步:创建本地用户并授权

SSH用户只是把访问入口打开,实际登录账号还得在本地用户库配:

如何配置H3C SSH?H3C SSH配置命令与步骤详解

[H3C]local-user admin class manage
[H3C-luser-manage-admin]password simple Admin@123
[H3C-luser-manage-admin]service-type ssh
[H3C-luser-manage-admin]authorization-attribute user-role network-admin

注意三个细节:

  • 密码强度建议至少8位且包含大小写和数字,否则容易成为弱口令攻击目标
  • service-type ssh和全局的ssh user service-type要一致,都是ssh
  • 用户角色network-admin是最高权限,日常维护如果不需要全权限,可以改成network-operator只读权限

第四步:VTY接口调用SSH协议

最后一步是把SSH协议绑定到远程登录的虚拟终端线路上:

[H3C]line vty 0 4
[H3C-line-vty0-4]protocol inbound ssh
[H3C-line-vty0-4]authentication-mode scheme
[H3C-line-vty0-4]user-role network-admin

关键点在于protocol inbound ssh这条命令,它限制了VTY线路只允许SSH协议接入。authentication-mode scheme表示登录认证走本地用户数据库验证。

配完这四步,用终端软件(比如SecureCRT、Xshell)连接交换机管理地址,协议选SSH,端口默认22,账号密码就是前面创建的用户名和密码。

h3c交换机ssh登录配置:V5老版本的命令差异

如果你手里是H3C S5500-EI、S5120-EI这类老型号,系统版本停留在V5,配置命令有些区别,最典型的变化是SSH用户创建方式。

V5版本不认ssh user admin这种写法,而是直接用public-key peer和本地用户绑定:

[H3C]public-key local create rsa
[H3C]ssh server enable
[H3C]local-user admin
[H3C-luser-admin]password simple Admin@123
[H3C-luser-admin]service-type ssh
[H3C-luser-admin]authorization-attribute level 3
[H3C]line vty 0 4
[H3C-line-vty0-4]protocol inbound ssh
[H3C-line-vty0-4]authentication-mode scheme

V5版本的关键差异点有两个:

  • 用户授权用的是authorization-attribute level 3,level 3是最高权限,V7的network-admin在这里不适用
  • 没有ssh user这条命令,SSH用户直接就是本地用户,不需要额外声明

如果V5设备配置完连不上,先执行display ssh server status和display ssh user-information,确认SSH服务状态和用户列表没问题。

SSH远程管理配置的进阶优化

基础配置能连上只是第一步,实际运维中还要做几项加固,否则风险不小。

如何配置H3C SSH?H3C SSH配置命令与步骤详解

限制SSH访问源地址,默认情况下,任何能路由到交换机管理地址的人都能尝试SSH登录,通过ACL限定允许的网段,能挡掉大量暴力破解尝试:

[H3C]acl basic 2000
[H3C-acl-ipv4-basic-2000]rule 5 permit source 192.168.10.0 0.0.0.255
[H3C-acl-ipv4-basic-2000]rule 10 deny
[H3C]ssh server acl 2000

改用公钥认证替代密码认证,密码容易被爆破,公钥认证安全度更高,做法是先在本机生成密钥对,把公钥传到交换机上,然后配置SSH用户为公钥认证模式:

[H3C]public-key peer admin-key
[H3C-public-key]public-key-code begin

在public-key-code begin模式下,粘贴你的公钥内容,

[H3C]ssh user admin authentication-type publickey
[H3C]ssh user admin assign publickey admin-key

这种方式下,即使密码泄露,没有对应私钥也没法登录设备。

配置登录超时和重试限制,VTY下设置登录超时时间和最大重试次数,防爆破效果明显:

[H3C-line-vty0-4]idle-timeout 5
[H3C-line-vty0-4]ssh authentication-retries 3

排查SSH连接失败的常见故障点

SSH连不上的原因千奇百怪,但按下面这个顺序排查,大多数问题都能解决。

第一步,确认端口通不通,管理电脑上用telnet 192.168.10.1 22测试端口可达性,如果不通,检查交换机的ACL、管理口的VLAN划分、以及SSH服务是否启动,SSH服务关闭的典型报错是Connection refused。

第二步,确认认证方式匹配,VTY下配了protocol inbound ssh,但认证模式是none(无认证),SSH登录会直接失败,必须保证authentication-mode scheme配上了。

第三步,确认用户名大小写,H3C的本地用户名区分大小写,Admin和admin是两个不同的用户,拼写错了就报认证失败。

第四步,查看设备日志,执行display logbuffer看最近的登录日志,失败原因会有明确提示,比如Authentication failed、Server public key not found,公钥相关的提示,说明是密钥对生成或认证配置出了问题。

H3C SSH配置与Telnet对比:为什么现在都在用SSH

配置层面的问题聊完了,回归一个最基础的问题:为什么非要用SSH,Telnet不香吗?

如何配置H3C SSH?H3C SSH配置命令与步骤详解

安全角度差异巨大,Telnet明文传输账号密码,在抓包工具下无所遁形,SSH全链路加密,密码在网络上传输时是密文,这个差距在跨公网管理设备时尤其致命。

功能覆盖基本一致,SSH能完成Telnet能做的所有操作:命令交互、远程配置、重启设备,从这个角度看,SSH替代Telnet没有功能损失,只有安全增益。

行业共识认为,凡是暴露在非信任网络的网络设备,一律禁用Telnet,VTY下protocol inbound ssh配上之后,Telnet端口23就自动失效了,这也是一个好消息少一个攻击面。

从配置复杂度的角度看,Telnet三个命令就能搞定,SSH确实要敲更多步骤,但换来的是整个会话加密,代价是值得的。

Q&A:关于h3c ssh配置的常见问题

问:h3c交换机ssh连接被拒绝是什么原因?

答:优先检查三处,第一,ssh server enable是否在全局配置下生效,没启动服务必然拒绝连接,第二,VTY接口是否绑定了protocol inbound ssh,如果没绑或绑成了telnet,SSH请求就会被丢弃,第三,本地用户的服务类型是否包含ssh,用户认证配好但service-type不对,认证阶段就会被拒。

问:h3c交换机v7和v5版本的ssh配置有什么区别?

答:主要区别在用户配置命令,V7版本使用ssh user + local-user两步走,用户角色是network-admin;V5版本直接配置local-user的service-type ssh和authorization-attribute level,没有独立的ssh user命令,密钥生成、VTY绑定、SSH服务启停这三步两端通用。

问:h3c交换机配置ssh登录时,公钥认证怎么配?

答:在管理电脑上用ssh-keygen -t rsa生成密钥对,交换机上创建public-key peer并粘贴公钥,然后指定SSH用户认证方式为publickey,最后用ssh user ... assign publickey绑定,私钥保存在本地电脑,登录时客户端软件自动匹配,公钥认证的排查重点是确认粘贴公钥时没有多余空格或换行,格式不完整会导致认证始终失败。

SSH配置的难点不在命令本身,而在于理解用户认证链路和VTY绑定的逻辑关系,建议在测试环境先把V7和V5的差异过一遍,再去动生产设备,稳一点不会错。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待