• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

交换机,关于双因子(密码+密钥)认证

5小时前提问
  • 0关注
  • 0收藏,35浏览
粉丝:0人 关注:0人

问题描述:

各位大佬好,请教下交换机双因子认证是不是有Bug?目前测试单纯密码或密钥是可以ssh认证登录的,状况是python通过SSH连接,SFTP下载交换机的配置文件到本地,以下为交换机的版本信息

H3C Comware Software, Version 7.1.070, Release 6343P08

Copyright (c) 2004-2022 New H3C Technologies Co., Ltd. All rights reserved.

H3C S5048PV3-EI uptime is 0 weeks, 3 days, 17 hours, 44 minutes

Last reboot reason : User reboot

 

Boot image: flash:/s5000v3_ei-cmw710-boot-r6343p08.bin

Boot image version: 7.1.070, Release 6343P08

  Compiled Sep 21 2022 11:00:00

System image: flash:/s5000v3_ei-cmw710-system-r6343p08.bin

System image version: 7.1.070, Release 6343P08

  Compiled Sep 21 2022 11:00:00

 

 

Slot 1:

Uptime is 0 weeks,3 days,17 hours,44 minutes

S5048PV3-EI with 1 Processor

BOARD TYPE:         S5048PV3-EI

DRAM:               512M bytes

FLASH:              256M bytes

PCB 1 Version:      VER.A

Bootrom Version:    146

CPLD 1 Version:     001

Release Version:    H3C S5048PV3-EI-6343P08

Patch Version  :    None

Reboot Cause  :     UserReboot

[SubSlot 0] 48GE+4SFP

 

3 个回答
粉丝:13人 关注:9人

排查步骤:
1. 确认双因子认证配置是否正确:
检查SSH用户是否同时配置了密码和密钥:display ssh user-information
确认认证方式是否为双因子(password-publickey):display ssh server configuration
2. 测试本地双因子登录:使用SSH客户端(如PuTTY)尝试双因子登录,验证是否需要同时输入密码和密钥。
3. 检查Python SSH库的认证方式:确认Python代码是否同时提供了密码和密钥,部分库默认仅使用一种认证方式。
4. 查看交换机日志:display logbuffer 检查认证失败原因,是否有双因子认证相关错误。
5. 升级版本:当前版本为7.1.070 Release 6343P08,可尝试升级到最新稳定版本(如7.1.070 Release 6343P10),排除已知Bug。
关键配置命令:
配置SSH用户双因子认证:

ssh user linfoson service-type all authentication-type password-publickey
ssh user linfoson publickey ...(导入公钥)
local-user linfoson password simple xxxxxx

启用SSH双因子认证:

ssh server authentication-type password-publickey

若本地测试双因子正常但Python连接异常,需检查Python代码的认证逻辑,确保同时传递密码和密钥。

暂无评论

粉丝:162人 关注:11人

升级下最新版本试试 

暂无评论

粉丝:27人 关注:1人

基于你的描述和软件版本,这很可能是一个已知问题或配置细节未妥善处理,而非设备本身的Bug。

我整理了一份排查清单,你可以对照着逐步检查,大概率能定位到原因。

🐞 可能的原因分析

  1. 软件版本已知问题:你当前使用的 Release 6343P08 版本,在H3C的知了社区中,已有用户反馈过类似的双因子认证(密码+公钥)在SFTP场景下存在问题。这是需要优先考虑的。

  2. Python库认证逻辑问题paramiko 等库在实现双因子认证时,对“同时提供密码和公钥”的处理方式可能不符合交换机的预期。有时库可能默认只使用一种认证方式。

  3. 交换机配置不完整:可能遗漏了关键步骤,例如没有正确地将公钥与SSH用户关联,或认证类型未设置为 password-publickey

  4. 客户端/服务端SSH版本或算法协商失败:尽管单独认证能成功,但双因子认证可能触发了不同的协商流程,如果算法(如密钥交换算法、加密算法)不匹配,也可能导致连接失败。

🔧 排查与解决步骤

建议按照以下顺序操作:

1. 升级软件版本(首要推荐)

这是解决已知问题最直接的方法。

  • 操作:访问H3C官网,将交换机软件升级到 Release 6343P10 或更新的稳定版本

  • 目的:排除因版本Bug导致的认证异常。

2. 检查并确认交换机配置

请登录交换机,逐一核对以下关键配置。

  • 确认SSH用户认证方式:执行 display ssh user-information,确保相应用户的 Authentication-type 字段显示为 password-publickey

  • 确认公钥已正确导入并关联

    • 执行 display public-key peer [ brief ],确认你的公钥已存在于设备上。

    • 检查SSH用户配置,确认已通过 assign publickey 命令正确关联了该公钥

  • 确认本地用户存在且密码正确:执行 display local-user,确保对应的本地用户已创建且密码无误

3. 使用SSH客户端进行对比测试

用标准的SSH客户端(如 PuTTY 或 SecureCRT)进行一次手动双因子登录测试

  • 目的:确认在手动输入密码和加载私钥的情况下,能否成功登录。

  • 结果判断

    • 如果手动登录也失败:问题基本在交换机侧的配置或版本上。

    • 如果手动登录成功:问题几乎可以肯定是出在你的Python脚本逻辑上。

4. 审查Python脚本(paramiko

如果手动测试成功,就需要检查你的Python代码

  • 确认同时传递了密码和私钥:在 paramiko 的 connect() 方法中,需要同时指定 password 和 pkey 参数

    python
    # 正确的双因子认证调用示例 private_key = paramiko.RSAKey.from_private_key_file('/path/to/private_key') ssh.connect(hostname=ip, username=username, password=password, pkey=private_key)
  • 检查私钥格式:确保 paramiko 能正确解析你的私钥文件(通常是PEM格式)。如果私钥有密码保护,需要在 from_private_key_file() 方法中提供 password 参数。

5. 查看交换机日志

登录交换机,执行 display logbuffer 命令,查看是否有SSH认证失败的具体错误信息。这些日志能提供最直接的线索。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明