Ubuntu 16.04在线升级OpenSSH版本
一、检查OpenSSL版本
检查OpenSSL版本
openssl version -a
# OpenSSL 1.0.2k-fips 26 Jan 2017
# built on: reproducible build, date unspecified
# platform: linux-x86_64
# options: bn(64,64) md2(int) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
# compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
# OPENSSLDIR: "/etc/pki/tls"
# engines: rdrand dynamic
检查OpenSSH版本
ssh -V
# OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
二、升级OpenSSL版本
1、下载解压OpenSSL
cd / && wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz
sudo tar -zvxf openssl-1.1.1t.tar.gz -C /usr/local
2、安装OpenSSL
cd /usr/local/openssl-1.1.1t
sudo ./config shared --prefix=/usr/local/openssl
make && sudo make install
3、配置OpenSSL环境
#为openssl做软连接
sudo cp /etc/ld.so.conf /etc/ld.so.conf.bak
sudo echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
#加载配置文件
sudo ldconfig
#备份以前的Openssl
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
#创建软链接
sudo ln -sv /usr/local/openssl/bin/openssl /usr/bin/openssl
4、查看版本
openssl version -a
#OpenSSL 1.1.1t 7 Feb 2023
#built on: Thu Jun 27 12:11:26 2024 UTC
#platform: linux-x86_64
#options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
#compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
#OPENSSLDIR: "/usr/local/openssl/ssl"
#ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
#Seeding source: os-specific
二、升级OpenSSH版本
1、下载openssh版本
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
2、拷贝至服务器
sudo scp -p 端口 root@ip:/pc/openssh-9.7p1.tar.gz /
3、解压openssh源码
cd / && sudo tar -xzf openssh-9.7p1.tar.gz
4、更新软件库
sudo apt update
5、下载openssh依赖
sudo apt install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev libkrb5-dev
6、配置OpenSSH环境
sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
# 开始前要备份
sudo cp -r /etc/ssh /etc/ssh.bak
7、安装openssh
#安装openssh
sudo ./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
make && sudo make install
#进入/usr/sbin
cd /usr/sbin
#备份sshd
sudo mv sshd sshd.bak
#将/usr/sbin/sshd拷贝/usr/local/sbin/sshd
sudo cp /usr/local/sbin/sshd sshd
8、# 安装openssh-server
#更新软件库
sudo apt-get update
#安装openssh-server
sudo apt-get install openssh-server
#防火墙开放22端
sudo ufw allow 22
#查看是否安装成功
ssh -V
#可以发现安装成功了,若执行该命令后还是原来的版本,重启后就是最新版本了
#OpenSSH_9.7p1, OpenSSL 1.1.1t 7 Feb 2023
#重启
sudo reboot