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

ssh登入失败

4天前提问
  • 0关注
  • 0收藏,136浏览
粉丝:1人 关注:0人

问题描述:

客户端登入设备提示SSH user (null) (IP: xxxxxx) disconnected from the server. 这是什么原因导致的 ssh2 algorithm key-exchange ecdh-sha2-nistp256

 ssh2 algorithm cipher aes128-ctr aes128-gcm aes192-ctr aes256-ctr aes256-gcm

 ssh2 algorithm mac sha2-256 sha2-512 sha1-96 md5-96- 目前ssh配置了这些算法

 

最佳答案

粉丝:23人 关注:1人

针对您遇到的 SSH 登录失败且提示 SSH user (null) ... disconnected from the server 的问题,这通常表明 SSH 握手阶段(算法协商或密钥交换)虽然开始,但在认证或建立会话前就异常中断了。结合您提供的算法配置,以下是导致该问题的常见原因及排查步骤:

1. 算法与版本兼容性问题

您目前配置的算法(如 ecdh-sha2-nistp256 和 aes128-ctr)属于相对较新且安全的标准,但如果您的 SSH 客户端(如旧版 Xshell、SecureCRT)或服务端设备固件较老,可能会因为版本或算法不匹配导致连接被强制断开。
  • 排查建议:尝试在 SSH 客户端中勾选或添加一些兼容性更强的旧算法(如 diffie-hellman-group1-sha1aes256-cbc 等)进行测试。
  • 版本兼容:如果怀疑是 SSH 版本(v1 与 v2)不兼容,可以在设备端执行 ssh server compatible-ssh1x enable 开启兼容模式进行测试。

2. 服务端 VTY 线路配置不完整(最常见原因)

在输入正确的账号密码后,如果 SSH 连接立刻断开,通常是因为设备端的 VTY(虚拟终端)线路缺少必要的交互配置,导致系统不知道给登录用户分配什么权限,从而直接踢出。
  • 排查建议:请通过 Console 口登录设备,检查并补全以下 VTY 配置:
    system-view user-interface vty 0 4 authentication-mode scheme # 开启用户名密码认证 protocol inbound ssh # 明确允许 SSH 协议接入 user-role network-admin # 赋予管理权限(缺失会导致秒退)

3. 用户服务类型与角色未授权

即使 VTY 配置正确,如果登录的本地用户本身没有开启 SSH 服务类型,或者没有绑定管理员角色,认证通过后也会被强制断开。
  • 排查建议:检查本地用户的配置,确保包含 SSH 服务类型和管理员角色:
    local-user <您的用户名> class manage service-type ssh # 必须包含 ssh authorization-attribute user-role network-admin # 确保拥有管理员角色

4. 服务器端未生成密钥对

为了防止“伪服务器欺骗”,客户端登录时需要验证服务器的身份。如果服务器端未创建密钥对,会导致 SSH 握手失败,客户端未提示是否认可服务器身份即退出。
  • 排查建议:在设备端执行 display public-key local rsa public 查看是否已生成 RSA 公钥。如果没有,请执行 public-key local create rsa 生成密钥对。

5. 密码错误触发黑名单机制

如果客户端反复输入错误密码,设备可能会将该 IP 或用户名记入黑名单,并拒绝后续登录,导致连接直接断开。
  • 排查建议:执行 display password-control blacklist 查看您的 IP 或用户名是否被列入黑名单。如果在黑名单中,可使用 reset password-control blacklist user-name <用户名> 将其清除。

6. 终极定位手段:开启 Debug 调试

如果上述常规排查均无法解决问题,建议通过开启调试功能抓取设备侧的断开原因:
  1. 通过 Console 登录设备。
  2. 开启终端监视和调试:
    terminal monitor terminal debugging debugging ssh server all
  3. 再次使用客户端尝试 SSH 登录,观察控制台打印的具体断开原因(如 Algorithm mismatchUser role mismatch 等)。
  4. 排查完毕后,务必执行 undo debugging all 和 undo terminal debugging 关闭调试。

暂无评论

4 个回答
粉丝:14人 关注:0人

这是断开连接,不是失败的提示。

暂无评论

粉丝:11人 关注:9人

原因:客户端与设备SSH算法不匹配。设备配置的算法列表中,客户端可能不支持或未启用相同的算法组合。
排查步骤:
1. 检查客户端支持的SSH算法:使用ssh -v客户端调试模式,查看客户端支持的KEX、加密、MAC算法。
2. 对比算法列表:设备配置与客户端支持的算法是否有交集。例如,若客户端仅支持aes256-cbc,而设备未配置则会失败。
3. 检查设备SSH配置:

display current-configuration | include ssh

确认ssh server kex-algorithm、cipher、mac是否包含客户端支持的算法。
4. 临时简化设备算法:仅保留通用算法测试,如ssh server kex-algorithm ecdh-sha2-nistp256;cipher aes128-ctr;mac hmac-sha2-256。
5. 检查客户端兼容性:部分老旧客户端可能仅支持cbc模式,需调整设备配置或升级客户端。
解决:在设备端补充客户端支持的算法(如aes128-cbc或hmac-md5),或在客户端启用设备支持的算法(如升级OpenSSH至8.0+版本)。

暂无评论

参考手册检查配置 SSH快速配置指南

打开你的电脑,在浏览器输入知了社区,找到这个帖子,要么在别人下面评论,要么点我名字。

暂无评论

粉丝:18人 关注:2人

一、报错核心含义
user (null) = 客户端还没完成用户名 / 身份协商阶段,连接直接被设备主动断开,不是密码错误,是算法协商、服务配置、访问策略拦截三类问题。
协商日志能看到:密钥交换 ecdh-sha2-nistp256、加密、MAC 算法均正常匹配,算法兼容没问题,排除算法不匹配断开。
二、高频故障原因(按出现概率排序)
1. 设备 SSH 登录 ACL 访问控制拦截(最常见)
交换机 / 防火墙 / ACG 等设备配置了 ssh server acl,仅允许指定 IP 登录,客户端 IP 不在允许列表,握手阶段直接断开,日志显示 null 用户。
查看命令:
plaintext
display current-configuration | include ssh server acl
修复:放行客户端 IP 到 ACL 中。
2. 设备 SSH 服务未开启对应登录用户、用户权限不足
仅创建本地用户,但未赋予 service-type ssh;
plaintext
local-user admin class manage
service-type telnet
# 缺少 service-type ssh,SSH无法登录
修复:
plaintext
local-user admin class manage
service-type ssh telnet
用户级别过低,不支持 SSH 管理登录。
3. VTY 虚拟终端配置限制
VTY 线路绑定 ACL 拦截客户端 IP;
VTY 数量耗尽,无空闲终端通道;
查看:display user-interface
修复:扩容 VTY、放行 ACL。
4. 客户端侧异常(密钥 / 工具版本)
Xshell、SecureCRT、旧 OpenSSH 客户端本地密钥缓存冲突,旧主机密钥记录不匹配;
解决:删除客户端 known_hosts 缓存,新建会话重试。
客户端强制使用证书登录,但设备仅配置密码登录,无证书配置,握手中断。
5. 设备 SSH 服务全局参数限制
开启了公钥认证,但未配置用户密钥,客户端默认优先密钥登录直接断开;
配置 ssh server authentication-type publickey 仅允许证书登录,无密码登录;
查看配置:
plaintext
display current-configuration | include ssh server authentication-type
修复:同时开启密码 + 证书认证
plaintext
ssh server authentication-type password publickey
6. 管理 IP、三层接口阻断 TCP22 流量
接口 inbound/outbound ACL、安全策略拦截 22 端口 SSH 报文,握手中途断开。
三、分步排查操作
检查 SSH 访问白名单 ACL
plaintext
dis cu | include ssh server acl
检查本地用户 SSH 服务权限
plaintext
dis local-user admin
确认输出包含 Service type: SSH
3. 检查 SSH 认证模式
plaintext
dis cu | include ssh server authentication-type
检查 VTY 终端 ACL 与资源
plaintext
dis user-interface vty 0 15
换工具测试:用系统自带 OpenSSH 命令行登录,排除客户端软件 bug
plaintext
ssh admin@设备IP
四、补充说明
你当前设备支持的密钥交换、加密、MAC 算法完整齐全,客户端算法列表完全匹配,不是加密算法协商失败导致断开,不用删减 / 调整 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. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

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

不规范转载

×

举报说明