我将机器升级到最新的 Ubuntu 20.04,现在机器无法使用 SSH 连接到现有的、未更改的 gitlab 服务器。使用的密钥和凭据与以前相同。最初我想 git clone 存储库,但后来尝试 ssh 到服务器,结果是一样的:签名错误。
部分(完整日志被标记为垃圾邮件)登录命令是:ssh -vvv [email protected]
openSSH_8.2p1 Ubuntu-4, OpenSSL 1.1.1d 10 Sep 2019
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolving "serveraddr.com" port 22
debug2: ssh_connect_direct
debug1: Connecting to serveraddr.com [10.0.0.xxx] port 22.
debug1: Connection established.
...
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Debian-10+deb9u5
debug1: match: OpenSSH_7.4p1 Debian-10+deb9u5 pat OpenSSH_7.0*,OpenSSH_7.1*,OpenSSH_7.2*,OpenSSH_7.3*,OpenSSH_7.4*,OpenSSH_7.5*,OpenSSH_7.6*,OpenSSH_7.7* compat 0x04000002
debug2: fd 3 setting O_NONBLOCK
...
debug1: Host 'serveraddr.com' is known and matches the ECDSA host key.
debug1: Found key in /home/username/.ssh/known_hosts:1
ssh_dispatch_run_fatal: Connection to 10.0.0.xxx port 22: incorrect signature
客户端和服务器之间可能存在一些配置错误(openssh 版本也不同),但我无法找出具体原因。
答案1
我终于能够通过
HostKeyAlgorithms ssh-rsa
在 /etc/ssh/ssh_config 中添加行来连接。git clone 命令现在也可以正常工作了。
如果有人能解释一下到底发生了什么就好了,因为 ssh 日志中没有任何内容指向我。完整日志可在 pastebin 上找到,因为这里它被标记为垃圾邮件:pastebin.com/0WaGFkF6