当前位置: 首页 > news >正文

ssh 远程连接加密算法报错

ssh 远程连接加密算法报错

错误现象如下:

在这里插入图片描述

遇到的错误信息 “Key exchange failed. No compatible key exchange method.” 表明 SSH 客户端和服务器在密钥交换方法上无法达成一致。这通常是因为客户端不支持服务器要求的加密算法,或者服务器配置过于严格,只允许使用特定的现代算法。

问题分析

根据错误信息,服务器支持以下密钥交换方法:

  • curve25519-sha256
  • curve25519-sha256@libssh.org
  • diffie-hellman-group-exchange-sha256
  • kex-strict-s-v00@openssh.com

以及以下 MAC 算法:

  • hmac-sha2-512
  • hmac-sha2-512-etm@openssh.com
  • hmac-sha2-256
  • hmac-sha2-256-etm@openssh.com

而 客户端似乎不支持这些算法,导致连接失败。

解决方案

1. 检查服务器配置

调整服务器的 SSH 配置文件 /etc/ssh/sshd_config,增加对旧算法的支持。但请注意,这会降低服务器的安全性,因此仅在必要时使用。

vi /etc/ssh/sshd_config# 新增如下内容
KexAlgorithms +diffie-hellman-group1-sha1
HostKeyAlgorithms +ssh-rsa
MACs +hmac-sha1

然后重启 SSH 服务:

systemctl restart sshd
2. 升级 SSH 客户端

最直接的解决方案是升级 SSH 客户端到最新版本,以确保它支持现代加密算法。

  • Windows:如果 使用的是 Windows 内置的 OpenSSH 客户端,可以通过 Windows 更新进行升级。或者, 可以下载并安装较新版本的 PuTTY 或 MobaXterm。

  • Linux/macOS:使用包管理器更新 OpenSSH 软件包。例如,在基于 Debian 的系统中,可以运行:

    sudo apt update && sudo apt upgrade openssh-client
    
3. 显式指定兼容的算法

如果暂时无法升级客户端, 可以尝试显式指定兼容的算法来建立连接。使用 ssh 命令的 -o 选项:

ssh -o KexAlgorithms=curve25519-sha256,diffie-hellman-group-exchange-sha256 \-o HostKeyAlgorithms=rsa-sha2-512,rsa-sha2-256 \-o MACs=hmac-sha2-512,hmac-sha2-256 \用户名@192.168.44.153

如果上述命令无效,可以尝试其他组合,如 curve25519-sha256@libssh.orghmac-sha2-512-etm@openssh.com 等。

4. 修改 SSH 配置文件

为了避免每次连接都指定选项,可以将以下内容添加到 SSH 客户端配置文件中(Linux/macOS 位于 ~/.ssh/config,Windows 位于 %USERPROFILE%\.ssh\config):

Host 192.168.44.153KexAlgorithms curve25519-sha256,diffie-hellman-group-exchange-sha256HostKeyAlgorithms rsa-sha2-512,rsa-sha2-256MACs hmac-sha2-512,hmac-sha2-256

请将 192.168.44.153 替换为实际的服务器地址。

总结

根本原因是由于 SSH 客户端不支持服务器要求的现代加密算法。优先升级 SSH 客户端,以确保它支持最新的安全标准。如果暂时无法升级,可以尝试显式指定兼容的算法或修改 SSH 配置文件。尽量避免为了兼容旧客户端而降低服务器的安全配置。

SH 客户端**,以确保它支持最新的安全标准。如果暂时无法升级,可以尝试显式指定兼容的算法或修改 SSH 配置文件。尽量避免为了兼容旧客户端而降低服务器的安全配置。

http://www.xdnf.cn/news/1280485.html

相关文章:

  • MyBatis执行器与ORM特性深度解析
  • 十二、Linux Shell脚本:正则表达式
  • 导入CSV文件到MySQL
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”
  • 腾讯 iOA 测评 | 横向移动检测、病毒查杀、外设管控、部署性能
  • 浏览器CEFSharp+X86+win7 之 测试抖音小店订单抓取(八)
  • 运动规划实战案例 | 基于多源流场(Flow Field)的路径规划(附ROS C++/Python实现)
  • Nmap 渗透测试弹药库:精准扫描与隐蔽渗透技术手册
  • Qt串口通信设计指南:通信层架构与实践
  • [go] 命令模式
  • 【软考架构】主流数据持久化技术框架
  • android 换肤框架详解1-换肤逻辑基本
  • 2025第十六届蓝桥杯大赛青少组省赛C++真题(初级组和中级组)
  • 数学建模——灰色预测(GM11)
  • 北京JAVA基础面试30天打卡07
  • HTTPS的应用层协议
  • react+vite-plugin-react-router-generator自动化生成路由
  • 安全等级认证系列 | 星环ArgoDB获CC EAL2安全认证,数据安全实力获国际认可
  • Linux入门DAY21
  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • 读《精益数据分析》:媒体内容平台全链路梳理
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • TRS(总收益互换)系统架构设计:多市场交易的技术实现分析
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 常用设计模式系列(十九)- 状态模式
  • 闸机控制系统从设计到实现全解析:第 5 篇:RabbitMQ 消息队列与闸机通信设计
  • HBase BlockCache:LRU Cache
  • Agent用户体验设计:人机交互的最佳实践
  • redis(2)-java客户端使用(IDEA基于springboot)
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?