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

news/2025/11/6 21:03:11/文章来源:https://www.cnblogs.com/tonyabasy/p/19197707

本篇介绍如何在 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.mzph.cn/news/958101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20251106 正睿

B\(n \le 10^6\),答案保留 \(6\) 为小数。显然可以二分答案 \(p\)。 设区间内众数出现 \(c1\) 次,剩下的数共出现 \(c0\) 次,则 \(\frac{c1}{c0 + c1} \ge k\),化简得到 \((1 - k)c1 - kc0 \ge 0\)。 令 \(s_i = (…

初识SQL语句

操作文件夹(数据库) 增 create database db1 charset utf8;mysql> create database db1 charset utf8; Query OK, 1 row affected (0.00 sec)查 show create database db1; # 查看db1数据库 mysql> show creat…

linux安装与命令

一、敏捷开发模型: 这是一种 新的模型,前面的几种都是属于传统型。它能适应快速需求变化,交付周期短,轻量级的开发模式。 二、增量开发模型: 项目被划分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能…

25.11.6随笔联考总结

考试 开考后正常通读题目。T1 看了 2 分钟秒了,T2 看了一会认为需要先把期望转成计数,然后把贡献分类计算貌似有一定的分,T3 想了好一会感觉大概能写一个 80 的 dp,T4 好像是 CSP2020 T4 类似,比较简单。于是决定…

《代码大全 2》观后感(五):注释 —— 代码与 “未来” 的对话

关于 “注释”,我过去有两个极端:要么觉得 “代码自己能说明白,不用写注释”,要么觉得 “多写注释总没错,哪怕是‘int a=0; // 定义 a 为 0’这种废话”。而《代码大全 2》对注释的观点,彻底改变了我的认知:注释…

库相关的操作

系统数据库 MySQL安装自带的一些数据库 information_schema : 虚拟库不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等 performance_schema : MySQL 5.5开始新增的一个数…

Cloudflare中的“托管质询”、“JavaScript质询“、”交互式质询”区别 - 狼人:

Cloudflare中的“托管质询”、“JavaScript质询“、”交互式质询”区别2025-11-06 20:50 狼人:-) 阅读(0) 评论(0) 收藏 举报Cloudflare提供了多种质询机制来区分正常用户和恶意流量,主要包括托管质询、JavaScrip…

数字识别模型

import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import fetch_openml from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier fro…

洛谷 P5327

给定一棵大小为 \(n\) 的树和 \(m\) 条链 \(s_i, t_i\),询问有多少对 \((u, v)\) 满足 \(u, v\) 同时在一条链上? \(n, m \le 10^5\)一个十分暴力的做法:把一条链剖成 \(\log n\) 个区间,那么这 \(\log n\) 个区间…

2025年AI/LLM安全围栏/护栏/安全网关选型深度评估

2025年AI/LLM安全围栏/护栏/安全网关选型深度评估面向对外服务或内部开放的大语言模型(LLM)与多模态应用,AI应用安全围栏/护栏/安全网关(亦称 LLM-WAF / Guardrails)已成为“输入+上下文+输出”三段式防护与RAG 越…

完整教程:mysql表的操作——mysql表的约束

完整教程:mysql表的操作——mysql表的约束pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

鸿蒙应用开发零基础入门:从工具到语言,轻松开启第一步

鸿蒙应用开发零基础入门:从工具到语言,轻松开启第一步随着鸿蒙生态的蓬勃发展,越来越多的开发者对鸿蒙应用开发产生了浓厚的兴趣。如果你是一名开发者,但对鸿蒙还一无所知,不知从何入手,那么这篇博客就是为你准备…

通过重写组件轻松掌握用JSX写Vue项目

最近接手 Vue JSX 项目,因久未使用 JSX,便通过先以 Vue 标准模板实现含常用功能的组件,再用 JSX 重写的方式,对比两者语法差异,总结使用选择,以此快速重拾 Vue 中 JSX 写法,前言 因工作原因,最近接手一个Vue的…

[Python刷题记录]-两两交换链表中的节点-链表-中等

[Python刷题记录]-两两交换链表中的节点-链表-中等链接:24. 两两交换链表中的节点 - 力扣(LeetCode) 直接写1 # Definition for singly-linked list.2 # class ListNode(object):3 # def __init__(self, val=0,…

#在线工具,柜位图工具

机房设备杂乱、布局规划耗时耗力?每次调整机柜都要反复手绘、核对尺寸?这款 42U 机柜管理工具简直是 IT 运维人的 “救星”,让机柜布局设计变得简单又高效! 可视化操作,布局设计零门槛 不用复杂绘图软件,不用专业…

洛谷 P3233

给定一棵有 \(n\) 个节点的树和 \(T\) 组询问。每组询问给定 \(m\) 个关键点,设 \(f(y)\) 表示离 \(y\) 最近的关键点(多个取编号最小。)请回答对于每个关键点 \(x\),有多少个 \(f(y) = x\)。 \(n, \sum m \le 3 \…

组件理解

HDFS(Hadoop分布式文件系统)的思路特别实在:切分+多节点备份DataNode:多节点存,还怕丢数据?切好的小数据块,会分散存到集群里的“DataNode”(存储节点)上。 NameNode:“大脑”记位置,不用瞎找,这么多DataN…

Lazarus在linux下独立守护进程(无外部依赖,自动脱离终端)

Lazarus在linux下独立守护进程(无外部依赖,自动脱离终端)一、以前用 pid := FpFork;if pid = 0 thenbegin // 主循环endelsebegin Halt; // 父进程退出end; 发现有的系统能运行。有的系统退出终端后运行一会就自动…

搜维尔科技:Xsens动作捕捉系统实时捕捉人体运动数据,为人形机器人提供拟人化动作训练和实时控制支持

在机器人技术飞速发展的当下,实现机器人精准模仿人类动作并实时响应操作指令,已成为推动产业升级的关键。Xsens动作捕捉系统凭借其高精度、实时性和环境适应性,成为训练与控制人形机器人的核心工具,重新定义了人机…

“模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用

“模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用“模型法线到视图法线”的变换矩阵(normal matrix)作用:用于在 光照计算(lighting) 中,将 模型空间中的法线方向 正确地转换到 视图空间(或摄像…