首页 > 解决方案 > 将我的 macbook 更新到 MacOs Mojave 后出现 ssh_dispatch_run_fatal git 错误

问题描述

我最近在我的 Macbook 上更新了 MacOs Mojave,但是通过终端使用 git 时出现了一些问题。第一个错误是通过安装 xCode 修复的,这很容易之后我可以做任何事情,除了包含服务器的命令,例如 git push / pull 当我运行 git pull 时,它一直在工作我收到这样的错误消息

ssh_dispatch_run_fatal:连接到 [some ip] 端口 22:签名不正确

致命:无法从远程存储库中读取。

尝试 git push 时也会发生同样的情况。

我似乎无法修复这个错误关于如何修复它的任何建议?

亲切的问候朱利安

标签: gitsshterminal

解决方案


通常,此消息意味着远程服务器配置错误或已过期。2.16 之前的某些版本的 Gerrit(以及可能使用 Apache Mina SSH 服务器的其他应用程序)在使用 Ed25519 密钥时会生成错误的签名。(也有可能,但不太可能,您的网卡或代理已损坏。)

解决此问题的最佳方法是更新远程服务器,使其使用适当 SSH 代码的固定版本。对于 Gerrit,这意味着升级到 2.15 或更高版本。使用最新 OpenSSH 的任何其他人也会遇到此问题,并且将无法访问服务器。

另一种方法是将您的系统配置为不使用 Ed25519 进行 SSH 连接到该系统。如果远程系统有主机名example.com,你可以在你的文件中添加如下内容~/.ssh/config

Host example.com
    HostKeyAlgorithms ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa

推荐阅读