Git Bash-ssh连接问题 [英] Git Bash - ssh connection issue
问题描述
环境:
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.0
ssh中到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!
要修复键不匹配错误,您有两个选择:
- 使用ecdsa-sha2-nistp25值更新通量系统密码中的
known_hosts
:
github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
- 或使用磁通引导程序旋转SSH密钥,如下所示:
- 从群集中删除部署密钥密钥
kubectl -n flux-system delete secret flux-system
- 使用与之前相同的参数重新运行
flux bootstrap github
Flux将使用ecdsa-sha2 SSH密钥和主机密钥生成密钥
的详细信息
注意:GitHub SSH主机密钥可通过元数据终结点
api.github.com/meta
获得。这包括
github.com ecdsa-sha2-nistp256
值。
这篇关于Git Bash-ssh连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!