OpenSSL升级3.0.0 # 官方下载地址
1
| https://www.openssl.org/source/
|
编译
1 2 3 4 5
| 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
1
| mv /usr/bin/openssl /usr/bin/openssl.bak
|
创建软链接到系统位置
因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置:
1 2 3 4 5
| 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
官方下载地址
1
| https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
|
依赖环境
1
| https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
|
环境准备
需要使用除ssh外的其他连接方式,比如tty,以确保能连接上服务器,如果该条件不满足,暂不做openssh的升级操作!!!
安装依赖
1
| yum install gcc make perl -y
|
#下载源码包
1 2
| 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
|
解压源码进行编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 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
|
备份旧版本文件
1 2 3 4
| 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
|
替换新版本文件
1 2 3 4 5
| 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
|
执行重启
如果是Centos操作系统需要执行以下步骤,此次跳过。
1 2 3 4 5 6 7
| 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
|