ubuntu 20.04.6/22.04.3 update openssh9.6p1 ,openssl1.1.1w or openssl3.2.0 with zlib1.3

参考: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


 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值