1. 华为设备SSH登录的必要性
远程管理网络设备是运维工程师的日常工作,而SSH(Secure Shell)协议是目前最主流的加密远程登录方式。相比传统的Telnet协议,SSH最大的优势在于所有传输数据都经过加密处理,可以有效防止密码和配置信息被窃听。我在实际项目中遇到过多次因为使用Telnet导致密码泄露的安全事故,后来全面切换到SSH后就再没出现过类似问题。
华为路由器、交换机等网络设备默认是不开启SSH服务的,需要手动配置。很多新手可能会觉得配置过程复杂,其实只要按照正确的步骤操作,10分钟就能完成全套设置。下面我会用最直白的语言,手把手带你完成从服务开启、密钥生成到用户授权的全流程配置。
2. SSH服务器端基础配置
2.1 启用SSH服务
首先需要通过console线连接设备,进入系统视图后执行以下命令:
[R2] stelnet server enable这条命令会启用设备的SSH服务功能。需要注意的是,不同版本的设备可能有细微差别,新版本通常默认已经开启。可以用display ssh server status命令查看当前状态。
2.2 生成RSA密钥对
SSH加密通信依赖于RSA非对称加密算法,因此需要先在设备上生成密钥对:
[R2] rsa local-key-pair create执行后会提示输入密钥长度,建议直接输入2048(安全性更高):
Input the bits in the modulus[default = 512]:2048生成完成后,可以用display rsa local-key-pair public查看公钥信息。这里有个小技巧:如果设备重启后SSH连接失败,很可能是密钥丢失,需要重新生成。
3. 用户管理与权限配置
3.1 创建AAA本地用户
华为设备采用AAA(认证、授权、计费)框架管理用户,首先需要创建用于SSH登录的用户:
[R2] aaa [R2-aaa] local-user admin password cipher admin123这里cipher表示密码会以加密形式存储。强烈建议不要使用简单密码,我见过太多因为密码太弱被破解的案例。
3.2 设置用户权限
接下来为用户分配权限等级(3级是最高权限):
[R2-aaa] local-user admin privilege level 3 [R2-aaa] local-user admin service-type sshservice-type ssh指定该用户只能用于SSH登录,不能用于其他服务。如果是多人协作环境,建议为每个工程师创建独立账号。
4. VTY接口与协议绑定
4.1 配置VTY用户界面
VTY(Virtual Terminal)是设备提供的虚拟终端接口,需要配置允许的登录方式和协议:
[R2] user-interface vty 0 4 [R2-ui-vty0-4] authentication-mode aaa [R2-ui-vty0-4] protocol inbound sshvty 0 4表示同时允许5个会话(从0开始计数)。protocol inbound ssh会禁用Telnet,只允许SSH连接,这是安全加固的重要一步。
4.2 设置SSH认证方式
最后需要指定SSH用户的认证方式:
[R2] ssh user admin authentication-type password如果安全性要求更高,可以配置密钥认证替代密码认证。配置完成后别忘了保存:
<R2> save5. 客户端连接与排错
5.1 首次连接配置
从客户端连接时,如果是首次连接该设备,需要在客户端执行:
[R2] ssh client first-time enable这条命令允许客户端接受新的主机密钥。连接成功后,下次就不需要再执行了。
5.2 常见问题排查
如果连接失败,建议按以下顺序检查:
- 确认网络连通性(ping测试)
- 检查SSH服务状态(display ssh server status)
- 查看用户权限(display local-user)
- 确认VTY配置(display user-interface vty 0 4)
我在实际运维中最常遇到的问题是防火墙拦截了SSH的22端口,可以用display current-configuration | include firewall查看相关配置。
6. 安全加固建议
除了基础配置外,还可以通过以下方式提升SSH安全性:
- 修改默认SSH端口(避免使用22端口)
- 配置ACL限制可连接SSH的源IP
- 启用SSH V2协议(更安全)
- 设置登录失败锁定机制
- 定期更换密钥对
这些措施在我们公司的等保测评中都得到了好评。特别是修改默认端口,能有效减少自动化攻击工具的扫描。