升级 v4.10.12后SSH连接提示不支持768位RSA加密

升级4.10.12后,用ssh连接以前的资产,提示:error: ssh: handshake failed: crypto/rsa: 768-bit keys are insecure (see https://go.dev/pkg/crypto/rsa#hdr-Minimum_key_size)
请问应该如何解决。

升级之前是否有类似报错?同网段试试ssh直连,命令为ssh -vvv username@ip,可能是openssh加密算法不兼容的问题

  1. 升级原因:此错误是由于 SSH 服务端使用的 RSA 密钥长度小于 1024 位(如 768 位),而 Go 1.20+(JumpServer v4.10.12 所使用)已禁止使用此类密钥,因其被认为不安全。

  2. 解决方法

    • 登录目标资产,检查 SSH 密钥长度:
      ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
      
    • 如果显示密钥长度为 768 或更低,则需生成新的 2048 位 RSA 密钥:
      ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
      
    • 重启 SSH 服务:
      systemctl restart sshd
      
    • 再次尝试通过 JumpServer 连接该资产。
  3. 验证连接:确保 JumpServer 可正常连接资产,若使用非标准端口,请检查资产配置中的端口设置是否一致。

  4. 参考链接Go 1.20 安全变更说明