各系统升级openssh

左手的ㄟ右手 2021-12-23 13:09 792阅读 0赞















修订号:

[V1.0]

修订人:

[陈土锋]

修订日期:

[2019.06.04]

前言

该文档只适用用于服务器Redhat,centos,Ubuntu和suse系统的openssh升级。需要注意必须要一台一台升级,因为每台系统的环境都不一样,脚本跑出的结果也不一样,所以每个脚本我都加了人机交互的功能,确定没问题了才能进行下一步,避免升级失败带来麻烦。

  1. 我的升级方式:

1、登录**.**.**.**,用于测试Telnet,不能通过端口来判断Telnet是否打开,因为有些服务器开启防火墙限制,就算端口打开了,其他机器也不一定能登录。**.**.**.**长时间不动也不会断开。故选该机器。

2、登录**.**.**.**,通过user01用户,批量将相关的脚本和包发送到对应的服务器/tmp目录,并用该机器测试ssh是否正常。

3、直接登录服务器执行升级升级脚本。按照脚本提示测试相关功能,功能正常则进行下一步。

一、升级原理

  1. openssh依赖两个包:zlib-1.2.8.tar.gzopenssl-1.0.1k.tar.gz
  2. (目前服务器均已安装这两个包,升级的时候可以直接先升级openssh,有问题再指定这两个包)
  3. #安装zlib 在光盘中--如有保留
  4. NFJD-YYXX-MYSQL02:~/openssh-7.9p1 # rpm -qa | grep zlib
  5. zlib-32bit-1.2.7-0.10.128
  6. zlib-1.2.7-0.12.3

#安装zlib,构建共享库

  1. tar -zxvf zlib-1.2.8.tar.gz
  2. cd zlib-1.2.8
  3. ./configure --shared
  4. /usr/bin/make install
  5. cp zutil.h /usr/local/include
  6. cp zutil.c /usr/local/include
  7. /sbin/ldconfig -v

##进入安装包上传目录,解压openssl

  1. tar -zxvf openssl-1.0.1k.tar.gz
  2. cd openssl-1.0.1k
  3. ./config shared zlib
  4. /usr/bin/make
  5. /usr/bin/make install

#修改配置文件,显示正常版本信息

  1. mv /usr/bin/openssl /usr/bin/openssl.bak
  2. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
  3. echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
  4. /sbin/ldconfig -v

##软件安装之-Openssh安装

##禁用sshd服务,卸载原来的openssh版本,不要乱删除软件

  1. /sbin/service sshd stop
  2. cp /etc/init.d/sshd /root/
  3. rpm -e openssh-6.2p2-0.9.1 --nodeps
  4. rpm -e openssh-6.2p2-0.9.1

若是系统自带才需要卸载,若是源码编译安装的则不需要卸载。
##解压缩openssh安装包,并进入解压缩文件编译安装
tar -zxvf openssh-8.0p1.tar.gz
cd openssh-8.0p1
./configure —prefix=/usr —with-md5-passwords —with-ssl-dir=/usr/local/openssl —with-zlib=/usr/local/zlib
/usr/bin/make
/usr/bin/make install

##启动调试ssh
#OS SUSE
cd contrib/suse
cp rc.sshd /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig —add sshd

#OS redhat 和centos
cd contrib/redhat
cp sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig —add sshd

#OS Ubuntu
使用原来的ssh文件(升级之前需要备份下面两个文件):
cp /etc/init.d/ssh /etc/init.d/ssh.${updateTime}
mv /etc/ssh /etc/ssh.${updateTime}

重启服务:
suse、Redhat和centos:service sshd restart
Ubuntu:service ssh restart

相关技巧:

1、查看系统版本号:cat /etc/issue,uname -a

2、需要四个包: openssh-8.0p1.tar,openssl-1.0.1k.tar,telnet-server,zlib-1.2.8

3、安装gcc gcc-c++(各系统安装方式看下面步骤)

4、必须开启Telnet,安全问题,这里不说了。

二、Redhat系统升级openssh

说明:

Redhat开启telnet服务

a)vi /etc/xinetd.d/telnet,将disable=yes改成disable=no;

b)启动telnet服务server xinet drestart或者/etc/init.d/xinetd restart使更改生效。

关闭telnet服务

a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;

b)重启xinted服务/etc/init.d/xinetd restart

问题:若发现Telnet已开,但是远程Telnet测试不通,则检查机器防火墙是否已打开。

redhat7.4开启telnet,直接开启,不需要xinetd托管:

systemctl start telnet.socket
systemctl start xinetd

1.1 升级脚本

  1. #!/bin/bash
  2. #该脚本用于红帽系统更新
  3. #author:chentufeng
  4. #createTime:2019 05 28
  5. updateTime=`date +"%Y%m%d"`
  6. verSSH="8.0p1"
  7. #安装Telnet服务
  8. yum -y install telnet-server
  9. # Function : 定义启动关闭Telnet服务函数
  10. # Parameter : $1 kai or guan
  11. #
  12. #
  13. stop_start_telnet(){
  14. if [ $1 == "kai" ];then
  15. sed -i 's@disable[[:space:]][[:space:]]*=[[:space:]][[:space:]]*yes@disable = no@g' /etc/xinetd.d/telnet
  16. elif [ $1 == "guan" ];then
  17. sed -i 's@disable[[:space:]][[:space:]]*=[[:space:]][[:space:]]*no@disable = yes@g' /etc/xinetd.d/telnet
  18. else
  19. echo "目前Telnet处于打开的状态,请知悉!!!"
  20. exit 1
  21. fi
  22. /etc/init.d/xinetd restart
  23. }
  24. stop_start_telnet kai
  25. read -t 360 -p "请测试Telnet是否能通,是否继续安装?(y or n)" jixu
  26. if [ ${jixu} == "n" ];then
  27. echo "停止安装!"
  28. exit 1
  29. fi
  30. tar -zxvf openssh-${verSSH}.tar.gz
  31. echo -e "n\n\n\n\ SSH目前版本是:"
  32. ssh -V
  33. echo -e
  34. read -t 360 -p "是否升级:(y or n)" updateSSH
  35. if [ ${updateSSH} == "y" ];then
  36. cd openssh-${verSSH}
  37. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords
  38. /usr/bin/make
  39. if [ $? -eq 0 ];then
  40. /usr/bin/make install
  41. if [ $? -eq 0 ];then
  42. cd contrib/redhat
  43. mv /etc/init.d/sshd /etc/init.d/sshd.old.${updateTime}
  44. cp sshd.init /etc/init.d/sshd
  45. chmod 755 /etc/init.d/sshd
  46. chkconfig --add sshd
  47. /etc/init.d/sshd restart
  48. else
  49. echo "${hostIP} ssh安装失败!"
  50. exit 1
  51. fi
  52. else
  53. echo "openssh升级失败!!!!!!!!!"
  54. exit 1
  55. fi
  56. else
  57. echo "${hostIP} 不做升级!"
  58. exit 1
  59. fi
  60. echo -e "\n\n\n 现在版本是:"
  61. ssh -V
  62. echo "请测试openssh是否可用!!!!可用的话请输入“guan”,关闭Telnet服务,否则直接回车或输入“kai”"
  63. read -t 360 -p "是否需要关闭Telnet服务?(kai or guan)" telnetStatus
  64. stop_start_telnet ${telnetStatus}

1.2 可能遇到的问题

1.2.1 Telnet没安装

问题:sed: can’t read /etc/xinetd.d/telnet: No such file or directory

updateOpenssh.sh: line 22: /etc/init.d/xinetd: No such file or directory

解决:yum -y install telnet-server telnet

若发现yum安装报错,但是这个yum源能用的,可使用下面命令将rpm包下载下来。

wget http://*****8/yum-redhat66.10/Packages/telnet-server-0.17-48.el6.x86_64.rpm

wget http://\*\*\*\*/yum-redhat66.10/Packages/telnet-0.17-48.el6.x86\_64.rpm

wget http://\*\*\*\*\*/yum-redhat66.10/Packages/xinetd-2.3.14-40.el6.x86\_64.rpm

安装:

rpm -ivh *.rpm

1.2.2 openssl-devel没安装

  1. 问题:configure: error: *** working libcrypto not found, check config.log
  2. redhat解决方法:yum -y install openssl-devel
  3. suse OS解决方法:指定openssl安装路径--with-ssl-dir=

三、centos系统升级openssh

说明:

centos6.x开启telnet服务(centos7.x需要用systemctl来启动xinetd)

a)vi /etc/xinetd.d/telnet,将disable=yes改成disable=no;

b)启动telnet服务server xinet drestart或者/etc/init.d/xinetd restart使更改生效。

关闭telnet服务

a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;

b)重启xinted服务/etc/init.d/xinetd restart

问题:若发现Telnet已开,但是远程Telnet测试不通,则检查机器防火墙是否已打开。

脚本可以用Redhat的,若是centos7.x系统,将脚本中/etc/init.d/xinetd restart改成systemctl restart xinetd

四、suse系统升级openssh

说明:

suse开启telnet服务

a)vi /etc/xinetd.d/telnet,将disable=yes改成disable=no;

b)启动telnet服务server xinet drestart或者/etc/init.d/xinetd restart使更改生效。

关闭telnet服务

a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes;

b)重启xinted服务/etc/init.d/xinetd restart

问题:若发现Telnet已开,但是远程Telnet测试不通,则检查机器防火墙是否已打开。

1.1 升级脚本

  1. #!/bin/bash
  2. #该脚本用于suse系统更新
  3. #author:chentufeng
  4. #createTime:2019 05 28
  5. updateTime=`date +"%Y%m%d"`
  6. verSSH="8.0p1"
  7. #安装telnetzypper
  8. zypper in telnet-server
  9. # Function : 定义启动关闭Telnet服务函数
  10. # Parameter : $1 kai or guan
  11. #
  12. #
  13. stop_start_telnet(){
  14. if [ $1 == "kai" ];then
  15. sed -i 's@disable[[:space:]][[:space:]]*=[[:space:]][[:space:]]*yes@disable = no@g' /etc/xinetd.d/telnet
  16. elif [ $1 == "guan" ];then
  17. sed -i 's@disable[[:space:]][[:space:]]*=[[:space:]][[:space:]]*no@disable = yes@g' /etc/xinetd.d/telnet
  18. else
  19. echo "目前Telnet处于打开的状态,请知悉!!!"
  20. exit 1
  21. fi
  22. /etc/init.d/xinetd restart
  23. }
  24. stop_start_telnet kai
  25. read -t 360 -p "请测试Telnet是否能通,是否继续安装?(y or n)" jixu
  26. if [ ${jixu} == "n" ];then
  27. echo "停止安装!"
  28. exit 1
  29. fi
  30. tar -zxvf openssh-${verSSH}.tar.gz
  31. echo -e "n\n\n\n\ SSH目前版本是:"
  32. ssh -V
  33. echo -e
  34. read -t 60 -p "是否升级:(y or n)" updateSSH
  35. if [ ${updateSSH} == "y" ];then
  36. cd openssh-${verSSH}
  37. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-ssl-dir=/usr/local/openssl
  38. /usr/bin/make
  39. if [ $? -eq 0 ];then
  40. #备份源文件
  41. mv /etc/ssh /etc/ssh.${updateTime}
  42. /usr/bin/make install
  43. if [ $? -eq 0 ];then
  44. cd contrib/suse
  45. mv /etc/init.d/sshd /etc/init.d/sshd.old.${updateTime}
  46. cp rc.sshd /etc/init.d/sshd
  47. chmod 755 /etc/init.d/sshd
  48. chkconfig --add sshd
  49. /etc/init.d/sshd restart
  50. else
  51. echo "${hostIP} ssh安装失败!"
  52. exit 1
  53. fi
  54. else
  55. echo "${hostIP} ssh安装失败!"
  56. exit 1
  57. fi
  58. else
  59. echo "${hostIP} 不做升级!"
  60. exit 1
  61. fi
  62. echo -e "n\n\n\n\ SSH目前版本是:"
  63. ssh -V
  64. echo -e
  65. echo "请测试openssh是否可用!!!!可用的话请输入“guan”,关闭Telnet服务,否则直接回车或输入“kai”"
  66. read -t 360 -p "是否需要关闭Telnet服务?(kai or guan)" telnetStatus
  67. stop_start_telnet ${telnetStatus}

1.2 可能遇到的问题

1.2.1 Telnet没安装

suse系统安装Telnet:

suse系统源存放目录:/etc/zypp/repos.d

1、suse配置zypper源

zypper ar http://\*\*\*\*:88/suse11\_SP3/ suse_20.229

zypper update 必须更新一下源,否则有些机器后面执行zypper命令会自动生成旧的repo源文件,导致安装失败。

2、安装Telnet

zypper in telnet-server

1.2.2 安装ssh成功,但是重启连接不上

查看是否存在sshd进程,切记不要把现在自己连着的进程杀掉,若不小心杀掉只能通过telnet方式进去。如下面查出来的,存在三个进程,导致sshd无法启动的,将相关的进程杀掉之后,重启服务即可。

# ps -ef|grep ssh

root 6533 1 0 11:12 ? 00:00:00 /usr/sbin/sshd -o PidFile=/var/run/sshd_heart.init.pid -f /etc/ssh/sshd_heart_config

root 6547 1 0 11:12 ? 00:00:00 /usr/sbin/sshd -o PidFile=/var/run/sshd_virtual.init.pid -f /etc/ssh/sshd_virtual_config

root 6569 1 0 11:12 ? 00:00:00 /usr/sbin/sshd -o PidFile=/var/run/sshd_intranet.init.pid -f /etc/ssh/sshd_intranet_config

1.2.3 找不到openssl库文件

  1. 问题:configure: error: *** working libcrypto not found, check config.log
  2. redhat解决方法:yum -y install openssl-devel
  3. suse OS解决方法:安装openssl之后,编译指定openssl安装路径--with-ssl-dir
  4. 1.2.4 安装成功之后root用户查看ssh -V没问题,但是user01查看版本提示下面错误:
  5. OpenSSL version mismatch. Built against 100020bf, you have 1000103f
  6. 原因:/etc/profile 设置umask 077,导致root用户创建文件的时候权限是700,即新安装的openssl权限不足,导致普通用户查看不到openssl文件。
  7. 解决:chmod 755 /usr/local/openssl -R

五、Ubuntu系统升级openssh

说明:

ubuntu内网可用源:

vim /etc/apt/sources.list

deb http://192.168.20.\*:88/ubuntu/ precise main multiverse restricted universe

deb http://192.168.20.\*:88/ubuntu/ precise-backports main multiverse restricted universe

deb http://192.168.20.\*:88/ubuntu/ precise-proposed main multiverse restricted universe

******省略

  1. 更新源:
  2. apt-get update

安装telnet**:**

apt-get -y —force-yes install openbsd-inetd

apt-get -y —force-yes install telnetd

安装完之后可看到下面信息输出:

cat /etc/inetd.conf | grep telnet

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

启动telnet**服务:**

/etc/init.d/openbsd-inetd start

问题:有时候启动xinetd服务提示没发现telnetd服务,可能是inetd.conf的telnet配置被注释掉了,取消注释重启即可。

1.1 升级脚本

  1. #!/bin/bash
  2. #该脚本用于ubuntu系统更新
  3. #author:chentufeng
  4. #createTime:2019 05 28
  5. updateTime=`date +"%Y%m%d"`
  6. verSSH="8.0p1"
  7. #安装telnet服务
  8. #ubuntu 源放位置:/etc/apt/sources.list
  9. #apt-get update
  10. apt-get -y --force-yes install openbsd-inetd
  11. apt-get -y --force-yes install telnetd
  12. # Function : 定义启动关闭Telnet服务函数
  13. # Parameter : $1 kai or guan
  14. #
  15. #
  16. stop_start_telnet(){
  17. if [ $1 == "kai" ];then
  18. /etc/init.d/openbsd-inetd start
  19. elif [ $1 == "guan" ];then
  20. /etc/init.d/openbsd-inetd stop
  21. else
  22. echo "目前Telnet处于打开的状态,请知悉!!!"
  23. exit 1
  24. fi
  25. }
  26. stop_start_telnet kai
  27. read -t 360 -p "请测试Telnet是否能通,是否继续安装?(y or n)" jixu
  28. if [ ${jixu} == "n" ];then
  29. echo "停止安装!"
  30. exit 1
  31. fi
  32. tar -zxvf openssh-${verSSH}.tar.gz
  33. echo -e
  34. echo "目前版本为:"
  35. ssh -V
  36. echo -e "\n \n"
  37. read -t 60 -p "是否升级:(y or n)" updateSSH
  38. if [ ${updateSSH} == "y" ];then
  39. cd openssh-${verSSH}
  40. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords -with-ssl-dir=/usr/local/openssl
  41. /usr/bin/make
  42. if [ $? -eq 0 ];then
  43. # 备份原openssh文件
  44. cp /etc/init.d/ssh /etc/init.d/ssh.${updateTime}
  45. mv /etc/ssh /etc/ssh.${updateTime}
  46. mv /usr/bin/ssh /usr/bin/ssh.${updateTime}
  47. /usr/bin/make install
  48. if [ $? -eq 0 ];then
  49. #systemVer=`awk '{print $1}' /etc/redhat-release`
  50. cd /etc/ssh
  51. mv sshd_config sshd_config.default
  52. cp ../ssh.${updateTime}/sshd_config ./
  53. echo "/etc/init.d/ssh restart" >>/etc/rc.local
  54. service ssh restart
  55. ls -l /etc/init.d/ssh
  56. ls -l /etc/ssh
  57. else
  58. echo "${hostIP} ssh安装失败!"
  59. exit 1
  60. fi
  61. else
  62. echo "openssh升级失败!!!!!!!!!"
  63. exit 1
  64. fi
  65. else
  66. echo "${hostIP} 不做升级!"
  67. exit 1
  68. fi
  69. echo -e
  70. echo "目前版本为:"
  71. ssh -V
  72. echo "请测试openssh是否可用!!!!可用的话请输入“guan”,关闭Telnet服务,否则直接回车或输入“kai”"
  73. read -t 360 -p "是否需要关闭Telnet服务?(kai or guan)" telnetStatus
  74. stop_start_telnet ${telnetStatus}

1.2 可能遇到的问题

1.2.1 openssl版本过低

configure: error: OpenSSL version header not found.

make: *** No targets specified and no makefile found. Stop.

OpenSSH_6.2p2, OpenSSL 0.9.8j-fips 07 Jan 2009

解决:升级openssl

1.2.2 报下面错误

configure: error: Your OpenSSL headers do not match your

  1. library. Check config.log for details.
  2. If you are sure your installation is consistent, you can disable the check
  3. by running "./configure --without-openssl-header-check".
  4. Also see contrib/findssl.sh for help identifying header/library mismatches.

以上报错处理方法都一样,尝试过多种方法,下面三种可以解决:

1**、先重装下面软件,再重新编译ssh**

移除多余的文件:

mv /lib/x86_64-linux-gnu/libcrypto.so.1.0.0.lib_x86 ~/bak/

mv /lib/x86_64-linux-gnu/libssl.so.1.0.0.usr_lib ~/bak/

重装:

apt-get install openssl* libssl-dev openssh* —reinstall

2**、重新安装openssl,指定ssl的库文件和安装目录**

echo “/usr/local/openssl/lib” >> /etc/ld.so.conf

/sbin/ldconfig -v

编译ssh的时候加-with-ssl-dir=/usr/local/openssl

3**、先用第一种方法恢复默认openssl和ssl库,再用第二种方法**

1.2.3 找不到库文件

configure: error: *** working libcrypto not found, check config.log

解决:编译ssh的时候加-with-ssl-dir=/usr/local/openssl

六、redhat7.4升级openssh

1.1 升级脚本:

  1. #!/bin/bash
  2. #该脚本用于北方机器红帽系统7.4更新
  3. #author:chentufeng
  4. #createTime:2019 06 19
  5. updateTime=`date +"%Y%m%d"`
  6. verSSH="8.0p1"
  7. #安装Telnet服务
  8. yum -y install telnet-server
  9. # Function : 定义启动关闭Telnet服务函数
  10. # Parameter : $1 kai or guan
  11. #
  12. #
  13. stop_start_telnet(){
  14. if [ $1 == "kai" ];then
  15. systemctl start telnet.socket
  16. systemctl start xinetd
  17. echo "telnet 已开启........"
  18. elif [ $1 == "guan" ];then
  19. systemctl stop telnet.socket
  20. systemctl stop xinetd
  21. echo "telnet 已关闭........"
  22. else
  23. echo "目前Telnet处于打开的状态,请知悉!!!"
  24. exit 1
  25. fi
  26. }
  27. stop_start_telnet kai
  28. read -t 360 -p "请测试Telnet是否能通,是否继续安装?(y or n)" jixu
  29. if [ ${jixu} == "n" ];then
  30. echo "停止安装!"
  31. exit 1
  32. fi
  33. tar -zxvf openssh-${verSSH}.tar.gz
  34. echo -e "n\n\n\n\ SSH目前版本是:"
  35. ssh -V
  36. echo -e
  37. read -t 360 -p "是否升级:(y or n)" updateSSH
  38. if [ ${updateSSH} == "y" ];then
  39. cd openssh-${verSSH}
  40. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords
  41. /usr/bin/make
  42. if [ $? -eq 0 ];then
  43. mv /etc/ssh /etc/ssh.${updateTime}
  44. mv /etc/init.d/sshd /etc/init.d/sshd.${updateTime}
  45. mv /usr/bin/ssh /usr/bin/ssh.${updateTime}
  46. mv /usr/sbin/sshd /usr/sbin/sshd.${updateTime}
  47. /usr/bin/make install
  48. if [ $? -eq 0 ];then
  49. cd contrib/redhat
  50. cp sshd.init /etc/init.d/sshd
  51. chmod 755 /etc/init.d/sshd
  52. chkconfig --add sshd
  53. /etc/init.d/sshd restart
  54. else
  55. echo "${hostIP} ssh安装失败!"
  56. exit 1
  57. fi
  58. else
  59. echo "openssh升级失败!!!!!!!!!"
  60. exit 1
  61. fi
  62. else
  63. echo "${hostIP} 不做升级!"
  64. exit 1
  65. fi
  66. echo -e "\n\n\n 现在版本是:"
  67. ssh -V
  68. echo "请测试openssh是否可用!!!!可用的话请输入“guan”,关闭Telnet服务,否则直接回车或输入“kai”"
  69. read -t 360 -p "是否需要关闭Telnet服务?(kai or guan)" telnetStatus
  70. stop_start_telnet ${telnetStatus}

1.2 可能遇到的问题:

service sshd restart —卡主很久,然后报下面错

Restarting sshd (via systemctl):

Job for sshd.service failed because a timeout was exceeded. See “systemctl status sshd.service” and “journalctl -xe” for details.[FAILED]

原因:sshd的启动文件路径改动

解决方法:

找到旧的sshd文件:locate sshd.service

/usr/lib/systemd/system/sshd.service

删除或者改名:

mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.20190619

重新加载:

systemctl daemon-reload

再重新启动sshd:

service sshd restart

附录

1.1 升级openssl

可能会报openssl的错:如找不到openssl头文件,或者openssl版本不一致等,都可以使用指定openssl(—with-ssl-dir)来进行编译安装解决。

查看原来版本:

openssl version -a

OpenSSL 1.1.0……

由于1.1版本和openssh冲突,需要降级到1.0.2

注意:一般有些机器前同事在升级openssh其他版本的时候已经安装了1.0.2,只是没有配置环境,你的解决方法有如下:

1、使用已经安装好的openssl来升级openssh(加参数:—with-ssl-dir=/usr/local/openssl),需添加库目录到/etc/ld.so.conf。参考下面步骤!

2、自己新装一个openssl

步骤如下:

tar zxvf openssl-1.0.2k.tar.gz

cd openssl-1.0.2k/

./config —shared zlib-dynamic —prefix=/usr/local/openssl

make

make test

make install

echo “/usr/local/openssl/lib” >> /etc/ld.so.conf

/sbin/ldconfig -v

mv /usr/bin/openssl /usr/bin/openssl.20190604

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

mv /usr/include/openssl /usr/include/openssl.20190604

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

mv /usr/local/bin/openssl /usr/local/bin/openssl.20190604

ln -s /usr/local/openssl/bin/openssl /usr/local/bin/openssl

问题:若做完上述步骤,使用openssl version查看还是1.1版本,可能是/etc/ld.so.conf文件还配置了其他的lib。

cat /etc/ld.so.conf 发现include /etc/ld.so.conf.d/*.conf配置,发现这个子目录还包含其他lib,需要改成openssl路径:/usr/local/openssl/lib,再/sbin/ldconfig -v,再查看下版本即可。

发表评论

表情:
评论列表 (有 0 条评论,792人围观)

还没有评论,来说两句吧...

相关阅读

    相关 openssh升级

    为保障在升级openssh过程中出现网络中断导致连接不上服务器,建议先安装telnet服务,当网络中断时,可通过telnet远程到服务器。 一、安装telnet服务...

    相关 openssh升级后无法连接问题

    很多openssh升级后无法登录问题,今天也遇到了;万幸是启动了telnet远程连接服务,所以在升级openssh的时候还是要创建一个测试用户去连接telnet。下面是常规解决