将Git for Windows升级到版本2会导致权限被拒绝(公钥)

将Git for Windows升级到版本2会导致权限被拒绝(公钥),git,Git,我正在尝试升级Git for Windows,因为旧版本已经注意到安全问题。其他软件升级也需要它。但是,当我这样做时,我总是得到拒绝权限(公钥)。即使在我创建了一个新密钥之后,这种情况也会发生 因为这是Windows,所以我使用非常旧的OpenSSH for Windows。要升级,我必须转换到另一个包,并希望避免同时进行复杂的更改 由于Git在当前版本下正常工作,所以我相信密钥、存储库和环境都可以。问题似乎与升级无关 注意:我已经解决了这个问题,尽管很难找到解决方案。我在这里发布问题,以便我也

我正在尝试升级Git for Windows,因为旧版本已经注意到安全问题。其他软件升级也需要它。但是,当我这样做时,我总是得到
拒绝权限(公钥)
。即使在我创建了一个新密钥之后,这种情况也会发生

因为这是Windows,所以我使用非常旧的OpenSSH for Windows。要升级,我必须转换到另一个包,并希望避免同时进行复杂的更改

由于Git在当前版本下正常工作,所以我相信密钥、存储库和环境都可以。问题似乎与升级无关

注意:我已经解决了这个问题,尽管很难找到解决方案。我在这里发布问题,以便我也可以发布解决方案

命令序列,旧版本:

git push staging patches:master
Everything up-to-date

where git
D:\BitNami\rubystack-2.0.0-11\git\cmd\git.exe
C:\Program Files (x86)\Git\cmd\git.exe

git version
git version 1.8.5.2.msysgit.0
命令序列,新版本:

git push staging patches:master
Permission denied (publickey).
fatal: Could not read from remote repository.

where git
C:\Program Files (x86)\Git\cmd\git.exe

git version
git version 2.6.4.windows.1

解决方案在Git for Windows中

OpenSSH 7认为某些DSA密钥不再安全。添加 “PubkeyAcceptedKeyTypes ssh dss”到~/.ssh/config帮助


请注意,这确实会导致有关密钥是否足够安全的问题。如果这是一个问题,您可能需要为OpenSSH for Windows找到一个解决方案。我不知道这些替换是否只支持SSH,或者它们是否会支持另一个包,比如Git

您必须再次向用户代理添加ssh密钥

打开git bash并运行以下操作:
现在应该可以了。

我发布了答案。我没有发布临时的、失败的解决方案。这就是其中之一。谢谢此外,请避免不必要的编辑,如您提供的编辑。非常感谢。
// start the ssh-agent in the background
eval $(ssh-agent -s)

// Now re-add your certificates and try to connect
ssh-add