1. 安装操作系统,注意如果可以选择,选择安装开发工具,主要是后续需要编译安装,需要gcc 编译工具。
2. 安装操作系统后,检查zlib 、zlib-dev是否安装,如果没有,可以使用安装镜像做本地源安装,在编译openssh 需要使用。
(1) 挂载安装镜像
mount /dec/cdrom /mnt
(2) 修改yum 配置
(3) yum makecache
(4) 安装gcc
yum install gcc
3. 安装操作系统后,检查perl 是否安装,如果没有,可以使用安装镜像做本地源安装,编译openssl 的脚本是使用perl编写的。
4. 编译安装openssl
(1)上传解压
(2)./Configure --prefix=/usr/local/openssl
(3) make
(4) make install
make 和make install的过程比较长,需耐心等待。如果没有报错则进行下一步,如果有报错需要解决报错问题。
(5)执行如下操作:
mv /usr/bin/openssl /usr/bin/openssl.bk
mv /usr/include/openssl /usr/include/openssl.bk (oraclelinux 95 中没有这个目录)
cp /usr/local/openssl/bin/openssl /usr/bin/openssl ( 替代就版本的执行程序)
cp -R /usr/local/openssl/include/ /usr/include/
(注意最后的斜线,意识就是将include下的opessl目录拷贝到对应 目录中)
(6)复制库文件
rm /lib64/libssl.so.3
rm /lib64/libcrypto.so.3
ln -s /usr/lcoal/openssl/lib64/libcrypto.so.3 /lib64/libcrypto.so.3
ln -s /usr/lcoal/openssl/lib64/libssl.so.3 /lib64/libssl.so.3
(7)
vi /etc/profile
export LD_LIBRAY_PATH = /usr/local/openssl/lib64:/lib64:$LD_LIBRARY_PATH
source /etc/profile
(8) 踩的坑:
打开新的终端程序时,报错:
flatpak:symbol lookup error: /lib64/libldap.so.2: undefined symbol:EVP md2,version OPENSSL 3.0.0
找了很多办法都不好用,实际上是编译时未启用md2
解决:ImportError: /lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0报错 - 昵称昵称昵称 - 博客园
解决方法:重新编译openssl,编译时带上参数 enable-mdc2
./Configure shared enable-ssl3 enable-ssl3-method enable-mdc2 enable-md2 --prefix=/usr/local/src/openssl
(6)检查:
执行 openssl version 看下,或者ssh -V 看下openssl 的版本是否 升级到新版本
重启系统,再检查下openssl的版本,并打开一个终端,看是否有报错。
5. 编译安装openssh
(1)上传解压
(2) ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-openssl-inludes=/usr/local/openssl/include -with-ssl-dir=/usr/local/openssl --with-zlib --with-pam
注: 如果不使用pam 也可以不用带后面这个with-pam参数。
(3)make
(4) make install