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

解决macOS升级到Tahoe后ssh-dss算法失效的问题

本篇介绍如何在 macOS Tahoe(M芯片) 终端利用 ssh 继续通过 DSA 算法连接远程服务器,解决因 OpenSSH 升级带来的异常Bad key types '+ssh-dss'

概述

macOS 近期推送了新的提供 Tahoe,系统升级的同时也升级了内部的 OpenSSH 组件到OpenSSH_10.0p2版本。根据 openssh 的计划 10.0 版本全面停止了对DSA算法的支持。

因此,在终端尝试使用DSA算法进行远程登录将报错:

-> ssh -oHostKeyAlgorithms=+ssh-dss username@hostBad key types '+ssh-dss'

OpenSSH 从 7.0 版本(2015 年发布)开始默认禁用 DSA(ssh-dss)密钥,并在 10.0 版本(macOS Tahoe正在使用的版本)中完全移除支持。主要原因在于 DSA(ssh-dss)算法的固定密钥只有 1024 位,现有的算力下已不再安全。

下面将介绍如何借助 brew 安装 OpenSSH_8.9p1 来解决该问题。

快速解决

提醒:

  1. 下面流程默认系统中已安装 Homebrew,如果没有参考 Homebrew 官网安装方式
  2. 下面命令执行流程必须顺序执行
  3. OpenSSH_9.x 版本仍然无法使用 DSA 算法,不要尝试使用该版本解决此问题

Homebrew Tap
原意是水龙头(Tap),可以简单理解成 Homebrew 的软件仓库,Homebrew 允许从第三方的软件仓库下载并安装。

  1. 创建第三方 Homebrew Tap
brew tap $USER/my-tap https://gitee.com/TonyaBaSy/homebrew-tap.git
  1. 安装 OpenSSL 1.1(OpenSSH 8.9p1 依赖该版本的 OpenSSL)
brew install $USER/my-tap/openssl@1.1
  1. 安装 OpenSSL 8.9p1
brew install $USER/my-tap/openssh

相关说明

由于 Homebrew 已经不再提供 OpenSSL@1.1 版本,因此需要通过第三方仓库下载,本文中使用的 OpenSSL@1.1 Formula 是笔者自己构建。

OpenSSL 安装过程中需要基于 OpenSSL 官网下载源码并进行编译,编译需要一定时间(取决于机器性能)。这里将来自 OpenSSL 官网的源码放在了 Git 仓库中可以大大加快国内用户的下载。

OpenSSH-8.9p1 的 Tap Formula 来自 Homebrew Github 仓库。

关于本篇文档有任何疑问或者问题欢迎评论区交流或发邮件给我。

http://www.jsqmd.com/news/33540/

相关文章:

  • 20251106 正睿
  • 初识SQL语句
  • linux安装与命令
  • 25.11.6随笔联考总结
  • Cloudflare中的“托管质询”、“JavaScript质询“、”交互式质询”区别 - 狼人:
  • 数字识别模型
  • 完整教程:mysql表的操作——mysql表的约束
  • 洛谷 P5327
  • 完整教程:mysql表的操作——mysql表的约束
  • 2025年AI/LLM安全围栏/护栏/安全网关选型深度评估
  • 通过重写组件轻松掌握用JSX写Vue项目
  • 鸿蒙应用开发零基础入门:从工具到语言,轻松开启第一步
  • [Python刷题记录]-两两交换链表中的节点-链表-中等
  • #在线工具,柜位图工具
  • 洛谷 P3233
  • 组件理解
  • 搜维尔科技:Xsens动作捕捉系统实时捕捉人体运动数据,为人形机器人提供拟人化动作训练和实时控制支持
  • “模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用
  • 首批凭借!华为云CodeArts Snap智能开发助手通过可信AI智能编码设备评估,获当前最高等级
  • 去年夏天
  • pythontip 字符串首位连接
  • aspose-pdf 修改pdf文件备忘录
  • 函数名与函数地址的关系(函数指针)
  • 第28节:网络同步与多人在线3D场景 - 详解
  • 别再选错!5分钟掌握AI Agent框架选型的方法
  • 完整教程:【Qt MOC预处理器解读与使用指南】
  • Linux - 7 磁盘管理篇
  • java word转 pdf
  • 11-05 题
  • Markdown之Typora语法