华为设备作为网络基础设施中的常见节点,其SSH登录配置与管理是网络管理员必备技能,SSH(Secure Shell)协议通过加密传输确保了远程管理的安全性,相比传统的Telnet协议,能有效防止信息泄露和中间人攻击,以下将详细介绍华为设备SSH登录的完整流程,包括生成密钥、配置服务器端、客户端连接等关键步骤,并辅以命令示例和注意事项说明。

SSH登录前的准备工作
在配置SSH之前,需确保设备已正确配置IP地址和路由,确保客户端与设备可达,设备需安装SSH服务组件,华为设备默认已包含SSH功能,无需额外安装,建议提前创建用于SSH登录的用户,并设置登录权限,
system-view
local-user admin password cipher Admin@123
local-user admin service-type ssh
local-user admin privilege level 15
上述命令创建名为admin的用户,密码为Admin@123,赋予最高权限(15级),并启用SSH服务类型。
生成RSA密钥对
SSH登录依赖于非对称加密,需在设备上生成RSA或DSA密钥对,RSA密钥长度建议至少2048位,以增强安全性,生成命令如下:
ssh server rsa keypair export sshkey
执行后,设备会生成RSA密钥对,其中私钥需妥善保存在客户端,公钥需配置到设备上,若使用DSA加密,可将命令中的rsa替换为dsa。

配置SSH服务器端
- 启用SSH服务:
在系统视图下,通过以下命令全局启用SSH服务:ssh server enable - 配置SSH端口:
默认SSH端口为22,可根据安全需求修改,例如改为2222:ssh server port 2222 - 配置公钥认证:
将客户端生成的公钥导入设备,支持通过手动输入或文件导入,手动输入公钥的命令为:public-key local create rsa public-key-code begin [粘贴客户端公钥内容,以-----BEGIN PUBLIC KEY-----开头] public-key-code end public-key local-user admin若通过文件导入,需确保公钥文件已上传至设备(如通过TFTP),再执行:
public-key local-user admin import sshkey filename pubkey.txt
客户端连接华为SSH服务器
客户端可通过Windows(如PuTTY、Xshell)或Linux/Mac终端连接,以Linux为例,使用ssh命令:
ssh -p 2222 admin@192.168.1.1
参数说明:
-p 2222:指定SSH端口,若为默认22可省略;admin:设备上创建的用户名;168.1.1:设备管理IP地址。 首次连接时,系统会提示保存主机密钥(输入yes),随后输入用户密码即可登录。
SSH登录优化与安全加固
- 禁用密码登录:
为提升安全性,可强制使用密钥认证,禁用密码登录:ssh server authentication-type password ssh server authentication-type pubkey修改为
pubkey后,仅允许密钥认证用户登录。
(图片来源网络,侵删) - 设置登录超时:
避免长时间空闲会话占用资源,可配置超时自动断开:ssh server timeout 300单位为秒,300秒即5分钟。
- 记录登录日志:
启用SSH日志功能,便于审计:info-center loghost IP地址 info-center source default channel 0 info-center log level informational
常见配置问题排查
- 连接失败:
- 检查设备SSH服务是否启用(
display ssh server status); - 确认ACL是否放行客户端IP(如
acl 300 rule permit source 192.168.1.0 0.0.0.255); - 验证用户权限是否正确(
display local-user admin)。
- 检查设备SSH服务是否启用(
- 密钥认证失败:
- 确认公钥是否正确导入设备(
display public local-user); - 检查客户端私钥是否与设备公钥匹配。
- 确认公钥是否正确导入设备(
相关问答FAQs
Q1: 如何修改SSH登录的欢迎信息?
A1: 可通过以下命令自定义SSH登录提示信息:
shell banner login "Welcome to Huawei Device! Unauthorized access is prohibited."
该信息将在用户成功登录后显示。
Q2: SSH连接后如何查看历史命令记录?
A2: 在SSH会话中,可使用display history-command查看当前会话的历史命令记录,若需保存历史命令,可提前配置:
history-command max-size 100
设置最大保存100条历史命令。
