OpenSSL升级3.0.0 # 官方下载地址
https://www.openssl.org/source/
# 编译
tar xf openssl-3.0.0.tar.gz
cd openssl-3.0.0
chmod -R 777 *
./config --prefix=/usr/local --openssldir=/usr/local/openssl --shared
make && make install
# 备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
# 创建软链接到系统位置
因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置:
ln -s /usr/local/bin/openssl /usr/bin/openssl
cd /usr/local/lib
cp libssl.so.3 /usr/lib/libssl.so.3
cp libcrypto.so.3 /usr/lib/libcrypto.so.3
openssl version
OpenSSH升级8.7
# 官方下载地址
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
# 依赖环境
https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
# 环境准备
需要使用除ssh外的其他连接方式,比如tty,以确保能连接上服务器,如果该条件不满足,暂不做openssh的升级操作!!!
# 安装依赖
yum install gcc make perl -y
#下载源码包
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
wget https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
# 解压源码进行编译安装
tar -zxf zlib-1.2.11.tar.gz
tar -zxf openssh-8.7p1.tar.gz
cd zlib-1.2.11
chmod -R 777 *
./configure --prefix=/usr/local/zlib && make && make install
echo "/usr/local/zlib/lib" > /etc/ld.so.conf.d/zlib.conf
ldconfig
cd openssh-8.7p1
chmod -R 777 *
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local
make && make install
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
# 备份旧版本文件
mv /etc/ssh /etc/ssh.old
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
# 替换新版本文件
mkdir /etc/ssh
cp /usr/local/openssh/etc/* /etc/ssh/
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
# 执行重启
systemctl restart ssh
如果是Centos操作系统需要执行以下步骤,此次跳过。
cd openssh-8.7p1
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
service sshd restart
systemctl status sshd