离线升级/安装openssl及openssh

离线升级openssl

  1. 下载安装包 https://www.openssl.org/source/
    离线升级/安装openssl及openssh
 wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
  1. 解压安装包
tar -xzvf openssl-1.1.1k.tar.gz
  1. 进入安装
cd openssl-1.1.1k/
./config --prefix=/usr/local/openssl #指定安装路径
make
make install
  1. 最后替换当前系统的旧版本 openssl 「先保存原来的」
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl3.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v 

报错
离线升级/安装openssl及openssh
处理(https://www.cpan.org/src/README.html)

     wget https://www.cpan.org/src/5.0/perl-5.32.1.tar.gz
     tar -xzf perl-5.32.1.tar.gz
     cd perl-5.32.1
     ./Configure -des -Dprefix=$HOME/localperl
     make
     make test
     make install

坑1:安装了anaconda,系统中存在两种openssl,一种是anaconda安装的,另一种是源码安装的,导致在很多时候引起版本冲突问题
which openssl 时显示的是anaconda3/bin/openssl
解决办法:把anaconda3/bin/openssl改个名字,然后执行source ~/.bashrc

升级openssh

openssh下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/离线升级/安装openssl及openssh

  1. 解压 tar -zvxf openssh-8.6p1.tar.gz

  2. 移除旧版本

mv /etc/ssh /etc/ssh.old
  1. 编译安装
cd openssh-8.6p1/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
make && make install
  1. 修改启动脚本
# 拷贝启动脚本
cp ./contrib/redhat/sshd.init /etc/init.d/sshd

# 修改启动脚本
vim /etc/init.d/sshd

# 此路径新版本的openssh安装路径
SSHD=/usr/local/openssh/sbin/sshd
  1. 将原来备份的/etcssh.old/sshd_config 写到回到/etc/ssh/sshd_config
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.origin #备份初始化的配置
cp -p /etcssh.old/sshd_config /etc/ssh/sshd_config #还远升级前的配置
  1. 卸载原有ssh
for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done
  1. 替换命令并重启
cp -arp /usr/local/openssh/bin/* /usr/bin/  #替换相关命令
service sshd restart   #重启sshd服务
  1. 设置开机自启
chkconfig --add sshd
chkconfig --level 2345 sshd on

ssh升级成功后使用ssh 可能会出现host key verification failed.
解决办法:重命名或删除留存的秘钥
如 mv /home/user/.ssh/known_hosts /home/user/.ssh/known_hosts.old

上一篇:Centos7 OpenSSH6.6p1升级到OpenSSH8.6p1


下一篇:Kerberos双跳变通办法