赞
踩
参考:https://blog.csdn.net/weixin_37534043/article/details/120822689
https://blog.csdn.net/xujiamin0022016/article/details/87817124
(34条消息) ubuntu20.4升级OpenSSL和OpenSSH_ubuntu升级openssh最新版_lqh_linux的博客-CSDN博客
*由于openssl1版本官方早已明确声明不再继续支持,建议尽早转移使用openssl3*版。
一、安装包下载(下载说明中的版本)
openssl
官方下载地址: https://www.openssl.org/source/
openssh
官方下载地址:https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
zlib
官方下载地址: http://www.zlib.net/
二、安装telnet
验证telnet服务是否存在并启用。telnet ip # 测试是否成功登陆;
如果登录不成功,安装telnet服务;
apt-get install openbsd-inetd telnetd telnet -y
*(可修改/etc/services里的默认端口)
/etc/init.d/openbsd-inetd restart # 启动服务;
netstat -anpt|grep 23 # 查看telnet服务的默认端口是否启动;
telnet ip # 测试是否成功登陆;
三、安装
卸载原openssh:
apt-get remove openssh-server openssh-client -y
此时想再通过类似xshell,putty之类的工具访问对应服务器就失效了,所以切勿关闭当前操作界面建议换成telnet登录。
安装所需环境:
apt-get update -y
apt-get install libpam0g-dev -y
apt install build-essential -y
四、编译安装zlib
cd /mnt/
tar zxvf zlib-1.3tar.gz
cd zlib-1.3/
./configure --shared
make && make install
五、编译安装OpenSSL(20.04.x分为1和3版,22.04.x默认安装3.x版)
1.openssl-1.1.1w版本
cd /mnt/
tar zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w/
./config shared zlib
一定要加上shared 参数,要不在安装openssh的时候就无法找到
#备份老版本openssl(意义不大)
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
#编译并安装
make && make install
#重链接一边依赖文件
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
#写依赖库路径并检查版本
echo "/usr/local/lib" >> /etc/ld.so.conf
echo "/usr/lib" >> /etc/ld.so.conf
#刷库更新
ldconfig -v
#验证版本
openssl version
OpenSSL 1.1.1w 11 Sep 2023
2.openssl-3.2.0版本
cd /mnt/
tar zxvf openssl-3.2.0.tar.gz
cd openssl-3.2.0/
./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
创建软链接到系统位置
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.2.0/libssl.so
/usr/local/lib64/libssl.so
软链接openssl的lib库(ubuntu20.04一定需要做)
mkdir -p /usr/local/openssl/lib64
ln -s /usr/local/lib64/libssl.so /usr/local/openssl/lib64/libssl.so
#将openssl 的lib 库添加到系统(ubuntu20.04一定需要做)
echo “/usr/local/openssl/lib64” > /etc/ld.so.conf.d/openssl.conf
#刷库更新
ldconfig -v
#可能遇到的问题:/lib/x86_64-linux-gnu/libcrypto.so.3 libcrypto.so.3 version 3.0.x找不到的情况
#解决方法
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
***或者直接拷贝cp /usr/local/src/openssl-3.1.3/libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3
openssl升级成功显示
openssl version
OpenSSL 3.2.0 23 Nov 2023 (Library: OpenSSL 3.2.0 23 Nov 2023)
六、安装openssh
cd /mnt/
tar zxvf openssh-9.6p1.tar.gz
cd openssh-9.6p1/
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.6p1, OpenSSL 3.2.0 23 Nov 2023
sshd -V
OpenSSH_9.6p1, OpenSSL 3.2.0 23 Nov 2023
如果版本不一致将/usr/bin/里的ssh拷贝到/usr/local/bin里或者做ln
systemctl unmask ssh
systemctl restart sshd
修改sftp路径
find / -name “sftp-server"
/usr/libexec/sftp-server
修改/etc/ssh/sshd_config 中sftp 位置
#*别忘了处理telnet
systemctl disable inetd.service
systemctl stop inetd.service
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。