CentOS7升级openssh8.0

脚本升级

#!/bin/bash
#script to upgrade OpenSSH(8.0)


#backup SSH conf
mkdir -p /tmp/ssh-backup
mv /etc/ssh/* /tmp/ssh-backup
#backup pam
cp /etc/pam.d/sshd{,.old}
#尽量yum升级至默认版本,OpenSSH_7.4p1
yum update openssh -y


#为防止万一,先安装配置telnet
yum -y install telnet telnet-server xinetd
#在/etc/securetty文件末尾添加内容:
echo "pts/0" >> /etc/securetty
echo "pts/1" >> /etc/securetty
echo "pts/2" >> /etc/securetty
echo "pts/3" >> /etc/securetty
#启动telnet服务并设置开机自动启动
systemctl enable xinetd
systemctl enable telnet.socket 
systemctl start telnet.socket
if [ $? -eq 0 ]; then
     echo "succeed for telent" >> /tmp/update-openssl.log
else
     echo "failed" for telnet >> /tmp/update-openssl.log
fi
systemctl start xinetd
netstat -lntp|grep 23


#安装依赖组件,注意将编译安装的高版本剔除出yum列表
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
#安装zlib和pam
yum install  -y pam* zlib*
#升级openssl
#https://www.cnblogs.com/suminem/p/13625172.html


#upgrade OpenSSH
cd /usr/src
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
tar xfz openssh-8.0p1.tar.gz 
cd openssh-8.0p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/   --with-zlib   --with-md5-passwords   --with-pam && make && make install
if [ $? -eq 0 ]; then
     echo "succeed for install openssh" >> /tmp/update-openssl.log
else
     echo "failed for install openssh" >> /tmp/update-openssl.log
fi
#Modify sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/#StrictModes yes/StrictModes no/g' /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 +x /etc/init.d/sshd
mv /usr/lib/systemd/system/sshd.service /tmp/ssh-backup
chkconfig sshd on
systemctl restart sshd
if [ $? -eq 0 ]; then
     echo "succeed for start sshd" >> /tmp/update-openssl.log
else
     echo "failed for start sshd" >> /tmp/update-openssl.log
fi


#检验成功后关闭telent
systemctl stop xinetd
yum remove -y telnet-server
systemctl start xinetd

  

原文地址:https://www.cnblogs.com/suminem/p/13689620.html