参考: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博客
一、安装包下载(下载说明中的版本)
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/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.1.2tar.gz
cd openssl-3.1.2/
./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.1.2/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
可能遇到的问题:/lib/x86_64-linux-gnu/libcrypto.so.3 libcrypto.so.3 version 3.0.9找不到
解决方法
通过 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.2/libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3
openssl升级成功显示
# openssl version
OpenSSL 3.1.2 1 Aug 2023 (Library: OpenSSL 3..1.2 30 Aug 2023)
六、安装openssh
# cd /mnt/
# tar zxvf openssh-9.4p1.tar.gz
# cd openssh-9.4p1/
# 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.3p1, OpenSSL 3.1.2 1 Aug 2023
# systemctl unmask ssh
# systemctl restart sshd
修改sftp路径
find / -name “sftp-server"
/usr/libexec/sftp-server
修改/etc/ssh/sshd_config 中sftp 位置