暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Centos升级openssl和openssh

Linux运维人 2021-09-15
1451

系统自带的openssh版本太旧了.想要升级下ssh为了防止升级失败导致服务器链接失败,需要做好准备工作,这里我采用的是dropbear这个软件,安装好后不用担心openssh升级失败了

安装dropbear

下载地址

https://matt.ucc.asn.au/dropbear/dropbear.html

安装过程

tar xvf dropbear-2020.80.tar.bz2
cd dropbear-2020.80
./configure #需要安装依赖zlib-devel
make && make install

生成dropbear的key

#创建存放dropbear生成的key目录
mkdir etc/dropbear/
创建key
/usr/local/bin/dropbearkey -t dss -f etc/dropbear/dropbear_dss_host_key

/usr/local/bin/dropbearkey -t rsa -s 4096 -f etc/dropbear/dropbear_rsa_host_key
#启动dropbear
/usr/local/sbin/dropbear dropbear -p 2222


测试远程连接(172.16.88.216为我的需要升级的服务器),在另外一台服务器上执行如下命令,测试是否可以登录。能登录我们就可以开始升级openssh了

ssh 172.16.88.216 -p 2222


升级openssl和openssh


安装前准备工作

下载最新的openssl和openssh

下载地址:

#openssh下载地址:
https://www.openssh.com/portable.html
#openssl下载地址:
https://www.openssl.org/source/


备份/usr/lib64目录下的这两个文件

/usr/lib64/libcrypto.so.1.0.2k
/usr/lib64/libssl.1.0.2k


升级前。安装好编译过程中需要用到的依赖包。此前由于没有安装依赖包。升级过程遇到了很多坑

yum install -y gcc make perl pam pam-devel zlib-devel


升级openssl

首先。我们需要将系统自带的老版本openssl卸载后在安装新版本。由于有很多依赖关系,在卸载openssl老版本的时候需要强制卸载

#卸载旧版本的openssl
rpm -qa|grep openssl
rpm -e `rpm -qa|grep openssl` --allmatches --nodeps
#安装新版本openssl
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr --shared
make && make install


升级openssh

备份老的/etc/ssh目录后开始安装,首先还是卸载旧版本

mv etc/ssh etc/ssh.bak
#安装前查看是否有这些依赖包,本人就是因为没查看。编译的时候报错了pam相关错误,可那时yum安装pam-devel已经安装不了了
rpm -qa | egrep "gcc|make|perl|pam|pam-devel"
rpm -e `rpm -qa|grep openssh` --nodeps
tar zxvf openssh-8.3p1.tar.gz
cd openssh-8.3p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords


升级过程遇到的问题总结
  • 升级后使用yum命令报错

/lib64/libcrypto.so.10: version `libcrypto.so.10' not found (required by /usr/lib64/python2.7/lib-dynload/_hashlib.so)

解决办法:

拷贝原有的libcrypto.so.1.0.2k和libssl.1.0.2k文件到/usr/lib64/目录下,并执行两条命令

ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10
ln -s /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so.10
  • 远程无法登录

检查/etc/ssh/sshd_config配置,添加配置项并重启sshd服务

PermitRootLogin yes



文章转载自Linux运维人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论