Files
CmiiDeploy/62-202504-云南甘肃漏洞/ubuntu升级OpenSSH.md
2025-04-17 15:13:02 +08:00

3.0 KiB
Raw Permalink Blame History

🤖 Assistant

以下是升级 Ubuntu 20.04.4 中 OpenSSH 版本的详细步骤,结合了公开资源和核心技术要点:


核心步骤概览

  1. 依赖准备
    • 升级前需同步更新 OpenSSLOpenSSH 的加密依赖):
      wget https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz
      tar -zxvf openssl-3.0.16.tar.gz
      cd openssl-3.0.16
      ./config --prefix=/usr/local/openssl --shared  # 关键参数 `--shared`
      make && make install
      
      需手动链接库文件(解决动态库路径问题):
      ln -s /usr/local/include/openssl /usr/include/openssl
      ln -sf /usr/local/lib64/libssl.so /usr/local/openssl/lib64/libssl.so
      echo "/usr/local/openssl/lib64" > /etc/ld.so.conf.d/openssl.conf
      ldconfig  # 更新库缓存
      
      来源:12 链接openssl的二进制文件
  • ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
  1. 升级 OpenSSH

    • 下载并编译最新版 OpenSSH如 9.3p2
      wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
      tar -zxvf openssh-9.3p2.tar.gz
      cd openssh-9.3p2
      ./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl
      make && make install
      
    • 替换系统默认二进制文件:
      mv /usr/bin/ssh /usr/bin/ssh.bak
      ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
      
  2. 服务配置与测试

    • 重启 SSH 服务并验证版本:
      systemctl restart sshd
      ssh -V  # 应显示新版本号
      
    • 注意事项
      • 操作前确保通过 telnet 或本地终端保持会话,避免升级失败导致无法远程连接(参考 3)。
      • 若遇到 known_hosts 报错,可清除 ~/.ssh/known_hosts 中对应 IP 的记录(深信服社区)。

常见问题解决

  • 符号链接错误
    若报错 relocation error: symbol EVP_mdc2 not defined,检查 OpenSSL 库路径是否正确链接,并重新执行 ldconfig2)。

  • 权限问题
    升级后若无法 root 登录,需修改 /etc/ssh/sshd_config 中的 PermitRootLogin yes 并重启服务(4)。


总结

  • 核心依赖:升级 OpenSSL 时务必使用 --shared 参数并正确配置库路径。
  • 风险控制:保留备份会话,避免升级中断导致失联。
  • 验证方式:通过 ssh -V 和实际连接测试确认版本更新。

如需更详细的配置参数或故障排查,可参考上述来源链接。