参考:https://blog.youkuaiyun.com/weixin_37534043/article/details/120822689
https://blog.youkuaiyun.com/xujiamin0022016/article/details/87817124
一、安装包下载(下载说明中的版本)
openssl
官方下载地址: https://www.openssl.org/source/
openssh
官方下载地址:https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
zlib
官方下载地址: http://www.zlib.net/
优快云资源下载链接:
https://download.youkuaiyun.com/download/lqh_linux/87403202
二、安装telnet
验证telnet服务是否存在并启用。telnet ip # 测试是否成功登陆;
如果登录不成功,安装telnet服务;
apt-get install openbsd-inetd telnetd telnet -y
/etc/init.d/openbsd-inetd restart # 启动服务;
netstat -anpt|grep 23 # 查看telnet服务的默认端口是否启动;
telnet ip # 测试是否成功登陆;
三、安装
卸载原openssh:
apt-get remove openssh-server openssh-client -y
此时想再通过类似xshell,putty之类的工具访问对应服务器就失效了,所以切勿关闭当前操作界面。
安装 libpam0g-dev和gcc:
apt-get update -y
apt-get install libpam0g-dev -y
apt install build-essential -y
四、安装zlib
cd /mnt/
tar zxvf zlib-1.2.13.tar.gz
cd zlib-1.2.13/
./configure --shared
make && make install
五、安装OpenSSL
cd /mnt/
tar zxvf openssl-3.0.7.tar.gz
cd openssl-3.0.7/
./config shared zlib
一定要加上shared 参数,要不在安装openssh的时候就无法找到
make && make install
备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
mv: cannot stat ‘/usr/include/openssl’: No such file or directory
这个报错不管
创建软链接到系统位置
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
查看libssl.so位置
# find / -name "libssl.so"
/mnt/openssl-3.0.7/libssl.so
/usr/local/lib64/libssl.so
软链接openssl的lib库
mkdir -p /usr/local/openssl/lib64
ln -s /usr/local/lib64/libssl.so /usr/local/openssl/lib64/libssl.so
将openssl 的lib 库添加到系统
echo “/usr/local/openssl/lib64” > /etc/ld.so.conf.d/openssl.conf
使新添加的lib 被系统找到
ldconfig -v
可能遇到的问题:

解决方法
通过 find / -name libcrypto.so.3 和 find / -name libssl.so.3 查找到对应so文件的位置,并建立软连接
ln -s /usr/local/lib64/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3
openssl升级成功显示
# openssl version
OpenSSL 3.0.7 1 Nov 2022 (Library: OpenSSL 3.0.7 1 Nov 2022)
六、安装openssh
# cd /mnt/
# tar zxvf openssh-9.0p1.tar.gz
# cd openssh-9.0p1/
# whereis openssl
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/include/openssl --with-privsep-path=/var/lib/sshd
需要指定openssl的安装路径
# make && make install
# ssh -V
OpenSSH_9.0p1, OpenSSL 3.0.7 1 Nov 2022
# cd /etc/ssh
# mv sshd_config sshd_config.default
# cp ../ssh.old/sshd_config ./
# mv /etc/init.d/ssh.old /etc/init.d/ssh
# systemctl unmask ssh
# systemctl restart sshd
本文介绍了在Ubuntu 20.4上升级OpenSSL和OpenSSH的详细过程,包括下载安装包、安装telnet、卸载旧版OpenSSH、安装依赖、创建软链接以及解决升级过程中可能遇到的问题。
1978





