openssh以及openssl升级

背景:环境扫描出openssh以及openssl漏洞,整理升级步骤和升级所遇到的问题

升级过程中新的ssh连接可能会无法建立,但不影响业务正常运行,也不会造成业务数据丢失

为避免升级过程中因操作等原因导致无法连接服务器,需要先安装telnet服务,并测试通过telnet登录

openssh版本:8.6p1

openssl版本:1.1.1k

一、安装openssl

#安装依赖
yum install -y gcc zlib-devel openssl-devel  pam-devel libselinux-devel
 
 
#安装
cd openssl-1.1.1k
./config
make && make install
 
 
#备份之前的
mv /usr/bin/openssl /usr/bin/openssl.bak
 
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig
openssl version
 
 
#装完之后要卸载掉上个版本,不然装openssh会有问题;但是注意不要卸载掉openssl-libs!!!
rpm -qa | grep openssl
openssl-libs-1.0.2k-21.el7_9.x86_64
openssl-devel-1.0.2k-21.el7_9.x86_64
openssl-1.0.2k-21.el7_9.x86_64
 
 
rpm -e --nodeps #卸载

如果安装gcc有问题,建议安装gcc使用rpm方式,类似这样
在这里插入图片描述

二、安装openssh
1.安装telnet

yum -y install telnet-server xinetd
systemctl start telnet.socket
systemctl start xinetd
 
 
vim /etc/pam.d/remote
#auth       required     pam_securetty.so #注释此行
 
 
#开启telnet控制台,编辑文件增加如下内容
vim /etc/securetty
pts/0
pts/1
 
 
#测试
telnet 192.168.1.100

2.安装openssh

#下载升级包
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
chown -R root.root openssh-8.6p1
 
 
#备份一下
rsync -av  /etc/ssh /etc/ssh.bak
rsync -av  /usr/bin/ssh /usr/bin/ssh.bak
rsync -av  /usr/sbin/sshd /usr/sbin/sshd.bak
rsync -av /etc/ssh/ssh_config /etc/ssh/ssh_config.d    ~/
rsync -av /etc/crypto-policies/back-ends/openssh.config   ~/
rsync -av /etc/ssh/sshd_config  ~
rsync -av ~/.ssh/authorized_keys   ~/.ssh/authorized_keys.bak
 
 
#编译
cd openssh-8.6p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
echo $?   #如果为0,则成功
make && make install
echo $?   #如果为0,则成功
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
 
#修改配置文件
rsync -av  ~/ssh_config   /etc/ssh/ssh_config
rsync -av   ~/ssh_config.d   /etc/ssh/ssh_config.d
rsync -av  ~/sshd_config   /etc/ssh/sshd_config
 
#此步在编译路径
cp -a contrib/redhat/sshd.init  /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
 
 
chmod u+x /etc/init.d/sshd
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
 
 
#加入开机自启
chkconfig --add sshd
chkconfig sshd on
systemctl daemon-reload
systemctl restart sshd
 
 
#验证
ssh -V

你可能感兴趣的:(ssh,centos,linux)