菜鸟科技网

华为SSH配置命令具体有哪些步骤?

华为设备的SSH配置主要围绕两个核心部分:生成服务器密钥对配置VTY用户界面的认证方式

华为SSH配置命令具体有哪些步骤?-图1
(图片来源网络,侵删)

SSH配置完整步骤(通用版)

这是最常用、最完整的配置流程,适用于大多数华为设备。

第1步:进入系统视图

system-view

所有后续的配置命令都需要在系统视图下执行。

第2步:配置设备主机名和域名

SSH协议需要设备有一个主机名和域名来生成唯一的密钥对。

# 设置设备的主机名
sysname Switch_A
# 设置设备的域名(公司的域名)
domain huawei.com

说明sysnamedomain 是生成RSA或DSA密钥对的前提,如果这两项没有配置,后续生成密钥的命令可能会失败或提示不完整。

华为SSH配置命令具体有哪些步骤?-图2
(图片来源网络,侵删)

第3步:生成服务器密钥对

SSH使用非对称加密,服务器(即你的华为设备)需要生成自己的公钥和私钥,目前推荐使用更安全的 RSA 密钥。

# 生成一个2048位的RSA密钥对
rsa local-key-pair create

执行此命令后,系统会提示:

The key name will be: Switch_A_Huawei.com
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  # 直接回车即可

等待密钥对生成完成,密钥对会以主机名和域名的组合形式自动命名。

第4步:创建AAA认证方案

为了安全,我们需要创建一个本地用户来用于SSH登录,AAA(Authentication, Authorization, Accounting)是华为设备上管理用户认证的标准方式。

华为SSH配置命令具体有哪些步骤?-图3
(图片来源网络,侵删)
# 进入AAA视图
aaa
# 创建一个本地用户,并设置认证方式为密码
# 命令格式:local-user <用户名> password irreversible-cipher <密码>
local-user admin password irreversible-cipher Admin@123456
# 为该用户分配角色,通常为network-admin(最高权限)或level-15(自定义权限)
local-user admin privilege level 15
# 设置该用户的接入类型为SSH
local-user admin service-type ssh
# 保存用户配置
quit

关键点

  • irreversible-cipher 表示使用加密后的密文存储密码,比明文更安全。
  • privilege level 设置用户权限,15 是最高级别。
  • service-type ssh 限定了该用户只能通过SSH登录,不能通过Telnet等。

第5步:配置VTY用户界面

VTY(Virtual Type Terminal)是设备用于远程登录的逻辑线路,我们需要配置VTY使用AAA进行认证,并允许SSH协议。

# 进入VTY用户界面视图
user-interface vty 0 4
# 注意:有些设备型号可能支持更多会话,vty 0 14,请根据设备实际情况选择
# 设置认证方式为AAA
authentication-mode aaa
# 设置协议为只允许SSH(推荐,禁止Telnet以提高安全性)
protocol inbound ssh
# (可选) 设置用户首次登录后是否需要修改密码
set authentication password-recharge
# (可选) 设置登录超时时间,例如5分钟
idle-timeout 5 0
# 退出VTY视图
quit

第6步:保存配置

完成所有配置后,务必保存,否则重启后配置会丢失。

save

系统会提示 [Y/N],输入 Y 并回车。


从客户端使用SSH登录

你可以从一台装有SSH客户端(如Windows的PuTTY、Xshell,或Linux/macOS的终端)的电脑上登录设备了。

假设:

  • 设备管理IP地址:168.1.254
  • SSH用户名:admin
  • SSH密码:Admin@123456

在Xshell/PuTTY中的连接信息:

  • 主机名/IP地址168.1.254
  • 端口22 (SSH默认端口)
  • 认证方式:使用密码 Admin@123456

登录成功后,你将看到设备的欢迎信息,并可以直接输入命令进行管理。


验证SSH配置

你可以通过以下命令检查SSH的配置状态:

# 查看当前生成的所有密钥对
public-key local-key-pair verbose
# 查看SSH服务器的状态信息
display ssh server status
# 查看所有通过SSH登录到本地的用户会话
display ssh user-information
# 查看当前在线的VTY用户
display users

常见问题与注意事项

  1. 无法生成密钥对?

    • 原因:通常是因为没有配置主机名 (sysname) 或域名 (domain)。
    • 解决:请确保第2步已正确配置。
  2. SSH连接失败,提示 "Connection refused"?

    • 原因:设备上SSH服务未开启或未监听,通常是第5步的 protocol inbound ssh 未配置或配置错误。
    • 解决:检查VTY配置,确保认证模式为 aaa 且协议为 ssh
  3. SSH连接失败,提示 "Permission denied"?

    • 原因
      • 用户名或密码错误。
      • AAA用户不存在或权限/服务类型配置错误。
      • 客户端IP地址被ACL(访问控制列表)阻止。
    • 解决:检查第4步的AAA用户配置,并确认客户端IP是否在允许的网段内。
  4. 首次登录SSH时,提示 "The server is not authenticated."?

    • 原因:这是正常的,因为客户端首次连接时,没有保存过设备的SSH公钥,无法验证服务器的身份。
    • 解决
      • 不安全的方法:在SSH客户端(如Xshell)的选项中,找到“不检查主机密钥”或类似选项并勾选。不推荐在生产环境使用
      • 安全的方法:将设备的公钥导出,然后导入到客户端的known_hosts文件中,具体操作如下:
        • 在设备上导出公钥
          # 进入系统视图
          system-view
          # 将公钥导出到文件(例如flash:/pubkey.pub)
          public-key local-key-pair export ssh-rsa pubkey.pub
        • 将公钥文件传送到客户端
        • 在客户端上保存公钥:根据客户端软件(如Xshell)的提示,将公钥内容添加到受信任的主机列表中。
  5. 如何使用SSH密钥对(免密登录)?

    • 相比密码登录,密钥对登录更安全,你需要:
      1. 在客户端(你的电脑)上使用 ssh-keygen 工具生成一对密钥(私钥和公钥)。
      2. 将客户端的公钥上传到华为设备上。
      3. 在华为设备上为AAA用户指定该公钥作为认证方式。
    • 配置示例
      # 假设公钥内容已保存到设备的 flash:/client_key.pub 文件中
      system-view
      aaa
      local-key-peer load ssh-key flash:/client_key.pub  # 导入客户端公钥
      local-user myuser pubkey-pair sshkey              # 为用户 myuser 绑定这个公钥
      local-user myuser service-type ssh
      local-user myuser privilege level 15
      quit
    • 之后,使用SSH客户端连接时,选择“使用公钥认证”并指定你的私钥文件即可,无需输入密码。

希望这份详细的指南能帮助您成功配置华为设备的SSH!

分享:
扫描分享到社交APP
上一篇
下一篇