macOS Ventura配置ssh/key无效的问题记录
内容转载自 https://cloud.tencent.com/developer/article/2149714
此处仅做个人记录
问题描述
工作电脑是 macOS Ventura ,需要连接gitlab仓库,下载安装git并初始化配置后,按照操作生成SSHkey后,连接远程仓库仍然报错 提示 Permission denied (publickey)
。
定位问题
经过查证,macOS Ventura 内置使用了 OpenSSH_9.0p1,根据 OpenSSH 发行说明 可以得知,从 OpenSSH 8.8/8.8p1 版本开始,就默认关闭了 ssh-rsa 算法。那么 macOS Ventura 内置使用的 OpenSSH_9.0p1 也是默认关闭了 ssh-rsa 算法。
解决方案
解决方案有 2 个:
- 基于更安全的 ed25519 哈希算法生成新的密钥,并配置到对应的服务器上、Github|Gitlab 的后台等
- 本地重新启用 ssh 对 ssh-rsa 算法的支持
方案一:重新生成 ed25519 算法的密钥
ssh-keygen -t ed25519
ssh-keygen -t ed25519 -C"your@email.com"
执行上述命令后,按照提示输入信息/一路回车,密钥就生成成功。 后续操作:
- 检查~/.ssh下生成了两个文件。id_ed25519, id_ed25519.pub, 后者是我们需要的公共密钥文件,用vim 打开文件,拷贝信息
- 在 Github|Gitlab,添加新的公钥信息到账号的SSH-Key里
- 本地 git push 远程,仓库成功初始化,连接成功!
方案二:重新启用 RSA/SHA1
如果替换新的密钥成本比较大,可以考虑重新启用 RSA/SHA1 以允许连接或者进行用户认证。 具体的配置,参考 OpenSSH 8.8/8.8p1 的 Release Notes 可知,可以选择仅启用单个密钥的 RSA/SHA1 支持,也可无差别全部启用。可参考原博进行配置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2018-10-11 心路历程:当win10遇上win7激活程序...请默哀