openssh 的升关联新的 openssl
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

openssh 的升关联新的 openssl

yuc
yuc
2024-08-26 / 最后修改: 2025-01-15 08:14 / 0 评论 / 7 阅读 / 正在检测是否收录...
升级异常

升级 openssh 的版本在编译的时候就出现了错误,提示 ssl 的版本不匹配,最低需要 1.1

编译openssl

所以我们安装了一个最新版本的 openssl-1.1.1新版

./config --prefix=/usr/local/openssl1.1.1 shared zlib
make && make install
再次尝试

这次配置的时候关联了 openssl 的目录

./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords  --with-privsep-path=/var/lib/sshd --with-pam --with-ssl-dir=/usr/local/openssl1.1.1

但是配置仍然报错,内容如下:

checking OpenSSL header version... failed

查看了配置参数,只有这一个是指定路径的,所以参数名应该是没有问题的,于是我又更换为了 openssl 解压后的源码目录,但仍然是相同的错误

继续排查

又怀疑是 openssl-1.1.1 版本太低,于是又下载了一个 openssl-3.3.1 使用上面相同的方式测试,但结果仍然是一样的报错

接下来,详细的查看了 openssh 当前目录下的 config.log 日志,发现有如下错误:

error while loading shared libraries: libcrypto.so.3
./conftest: error while loading shared libraries: libcrypto.so.3: cannot open shared object file

应该就是动态库文件没有找到,所以还是把动态库加入到 ldconfig 算了,加入到环境变量中,这样应该就不会找不到了

echo /usr/local/openssl/lib64 >> /etc/ld.so.conf.d/ssl3.conf && ldconfig && ldconfig -pv

果然再次编译没有任何错误

安装完成
  1. 还要还原 /etc/pam.d/sshd,第一次从 rpm 源码升级,rpm 卸载会重命名备份这个文件为 sshd.rpmsave
  2. 复制启动脚本到 并且设置开机自启
  3. 接着为了保证配置跟以前一致,可以还原之前的配置,避免前后端口不一致导致连不上了
  4. 再接下来测试配置文件 sshd -t ,保证配置文件测试无误后重启
0

评论

博主关闭了当前页面的评论