Fedora 33 git pull 或 clone 不再工作和/或不再识别 ssh 密钥

ajo*_*eps 9 git ssh fedora

我最近设置了 Fedora 33 并且正在迁移我的文件。我复制了我的 ssh 密钥,发现我无法再从 bitbucket git repos 中拉出我能够从旧笔记本电脑上拉出的。ssh密钥完全一样,公钥已经在bitbucket账户上了。此外,权限设置为chmod 600. 我仍然无法从回购中拉出。

ajo*_*eps 21

这似乎是 Fedora 33 的最新问题。这是相关的错误报告

问题是,它似乎是在Fedora 33去除的支持SHA1,我想bitbucket.org利用SHA1他们的git clone通过ssh。您可以通过运行ssh -Tv git@bitbucket.orggrep的输出来验证这是否是同一问题debug1: send_pubkey_test: no mutual signature algorithm

错误报告中列出的当前解决方法是ssh-rsa在您的~/.ssh/config:

将以下条目添加到您的~/.ssh/config并确保它具有权限chmod 700 ~/.ssh/config

Host bitbucket.org
    User git
    PubkeyAcceptedKeyTypes ssh-rsa
Run Code Online (Sandbox Code Playgroud)

替换bitbucket.org为您正在使用的任何 git 主机

  • 这不是“bitbucket”使用的内容,而是您在创建密钥对时选择的内容。 (2认同)

tin*_*ink 5

正确的解决方案:使用ssh-keygen -t ed25519该公钥并将其复制到您的 bitbucket 帐户中。

  • 我只使用 ed25519 密钥,但将 OpenSSH 更新到 8.8 后 Bitbucket 仍然开始抱怨。看起来他们确实只支持其服务器上的旧密钥类型(ssh-rsa、ssh-dss)。 (2认同)