问题
今天在使用 git push 到 gerrit 时, 遇到了 ".ssh/config: line 4: Bad configuration option: pubkeyacceptedalgorithms" 这个错误. 找到了很多地方, 终于找到了原因.
原因
根本原因是 GIT 2.33.1 版本集成了最新的 OpenSSH v8.8 版本,而此版本放弃了历史相当悠久的 rsa-sha1 的支持。
网络上对此的一个方案是创建一个文件 ".ssh/config" , 并在文件中写入
Host git.xxxxxx.com
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
这个方法对于我却没有效果, 反而还会出现上面那个错误 Bad configuration option: pubkeyacceptedalgorithms.
解决
即然 rsa-sha1 不能用了, 那就要换一种更安全的方式吧.
# ssh-keygen -t rsa -C "hugo@dev" # rsa-sha1 加密方式
ssh-keygen -t ed25519 -C "hugo@dev" # ED25519 加密方式