Git Bash-ssh连接问题 [英] Git Bash - ssh connection issue

查看:4
本文介绍了Git Bash-ssh连接问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

环境:

OS: Windows-10
Git Bash Version: 2.33.1
OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021
$ which ssh
 /usr/bin/ssh

SSH连接到GERRIT错误:-

$ ssh -p 29418 user@gerrit.example.com

Unable to negotiate with gerrit.example.com port 29418: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Git-2.32.0ssh中到Gerrit的连接可以正常工作。在最新的Git版本中是否启用了任何限制?

推荐答案

Git For Windows 2.33.1附带的OpenSSH 8.8默认情况下禁用使用SHA-1哈希算法的RSA签名。

对于大多数用户来说,此更改应该是不可见的,并且 无需替换ssh-rsa密钥。
OpenSSH已支持RFC8332 自7.2版以来的RSA/SHA-256/512签名和现有的ssh-rsa密钥 将在可能的情况下自动使用较强的算法。

连接到较旧的SSH时更有可能出现不兼容 尚未升级或未密切跟踪的实施 SSH协议的改进。

对于这些情况,可能需要 有选择地重新启用RSA/SHA1以允许连接和/或用户 通过主机密钥算法和Pubkey接受算法进行身份验证 选项。
例如,~/.ssh/config中的以下一节将启用 RSA/SHA1用于单个目标主机的主机和用户身份验证:

Host old-host
   HostkeyAlgorithms +ssh-rsa
   PubkeyAcceptedAlgorithms +ssh-rsa

注意:Git for Windows 2.34.0不会在SSH方面带来任何新的元素/发展。


Stefan Prodan(dx@weaveworks,http://flagger.app的创建者和http://fluxcd.io的维护者)在this tweet中提及:

giHub已更改其主机密钥💥

如果您使用的是@fluxcd,请查看此处如何更新您的Kubernetes群集上的已知主机密钥。

Stefan引用fluxcd/flux2 discussion 2097

GitHub有changed its SSH host keys from RSA to ECDSA

要修复键不匹配错误,您有两个选择:

  1. 使用ecdsa-sha2-nistp25值更新通量系统密码中的known_hosts

github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=

  1. 或使用磁通引导程序旋转SSH密钥,如下所示:
  • 从群集中删除部署密钥密钥kubectl -n flux-system delete secret flux-system
  • 使用与之前相同的参数重新运行flux bootstrap github

Flux将使用ecdsa-sha2 SSH密钥和主机密钥生成密钥

有关fluxcd/source-controller#490

的详细信息

注意:GitHub SSH主机密钥可通过元数据终结点api.github.com/meta获得。
这包括github.com ecdsa-sha2-nistp256值。

这篇关于Git Bash-ssh连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆