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

69 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 🤖 Assistant
以下是升级 Ubuntu 20.04.4 中 OpenSSH 版本的详细步骤,结合了公开资源和核心技术要点:
---
### **核心步骤概览**
1. **依赖准备**
- 升级前需同步更新 OpenSSLOpenSSH 的加密依赖):
```bash
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
```
需手动链接库文件(解决动态库路径问题):
```bash
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 # 更新库缓存
```
来源:[<sup>1</sup>](https://blog.csdn.net/weixin_44293618/article/details/128096741)、[<sup>2</sup>](https://www.cnblogs.com/subsea/p/17682962.html)
链接openssl的二进制文件
- ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
2. **升级 OpenSSH**
- 下载并编译最新版 OpenSSH如 9.3p2
```bash
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
```
- 替换系统默认二进制文件:
```bash
mv /usr/bin/ssh /usr/bin/ssh.bak
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
```
3. **服务配置与测试**
- 重启 SSH 服务并验证版本:
```bash
systemctl restart sshd
ssh -V # 应显示新版本号
```
- **注意事项**
- 操作前确保通过 `telnet` 或本地终端保持会话,避免升级失败导致无法远程连接(参考 [<sup>3</sup>](https://blog.csdn.net/lqh_linux/article/details/128796892))。
- 若遇到 `known_hosts` 报错,可清除 `~/.ssh/known_hosts` 中对应 IP 的记录([深信服社区](https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=128631))。
---
### **常见问题解决**
- **符号链接错误**
若报错 `relocation error: symbol EVP_mdc2 not defined`,检查 OpenSSL 库路径是否正确链接,并重新执行 `ldconfig`[<sup>2</sup>](https://www.cnblogs.com/subsea/p/17682962.html))。
- **权限问题**
升级后若无法 root 登录,需修改 `/etc/ssh/sshd_config` 中的 `PermitRootLogin yes` 并重启服务([<sup>4</sup>](https://www.cnblogs.com/miaojx/p/14713244.html))。
---
### **总结**
- 核心依赖:升级 OpenSSL 时务必使用 `--shared` 参数并正确配置库路径。
- 风险控制:保留备份会话,避免升级中断导致失联。
- 验证方式:通过 `ssh -V` 和实际连接测试确认版本更新。
如需更详细的配置参数或故障排查,可参考上述来源链接。