#!/bin/bash###By:Eren 2020-05-26#######################安装包存放目录/tmp######################cd /tmp/openssh#安装本地依赖包yum -y localinstall /tmp/openssh/*.rpm >/dev/nullif [ $? -eq 0 ];thenecho -e "依赖包安装成功" "\033[32m Success\033[0m"elseecho -e "依赖包安装失败" "\033[31m Failure\033[0m"sleep 3exit 1fi#部署opensslcd /tmp/openssh/openssl-1.1.1g/./config --prefix=/usr/local/ssl shared >/dev/nullif [ $? -eq 0 ];thenmake > /dev/null 2>&1make install > /dev/null 2>&1elseecho -e "编译安装OpenSSL失败" "\033[31m Failure\033[0m"sleep 3exit 2fiecho "/usr/local/ssl/lib" >> /etc/ld.so.conf/sbin/ldconfig -vmv /usr/bin/openssl /usr/bin/openssl.oldln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/opensslln -s /usr/local/ssl/lib/libssl.so /usr/local/lib64/libssl.sostrings /usr/local/lib64/libssl.so |grep OpenSSL/usr/bin/openssl versioncp /etc/pam.d/sshd /etc/pam.d/sshd.oldcp /etc/ssh/sshd_config /etc/ssh/sshd_config.old#部署opensshcd /tmp/openssh/openssh-8.3p1/install -v -m700 -d /var/lib/sshd chown -v root:sys /var/lib/sshd/usr/bin/autoreconf#编译openssh./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr/local/ssl/lib --with-privsep-path=/var/lib/sshd --with-ssl-dir=/tmp/openssh/openssl-1.1.1g >/dev/null 2>&1if [ $? -eq 0 ];thenmake >/dev/null echo -e "编译openssh成功" "\033[32m Success\033[0m"elseecho -e "编译OpenSSH失败" "\033[31m Failure\033[0m"sleep 3exit 3fi#安装opensshif [ $? -eq 0 ];thenmake install >/dev/nullecho -e "OpenSSH安装成功" "\033[32m Success\033[0m"elseecho -e "OpenSSH安装失败" "\033[31m Failure\033[0m"sleep 3exit 4fi#更新ssh配置文件sed -i 's|GSSAPIAuthentication yes|#GSSAPIAuthentication yes|' /etc/ssh/ssh_configcat /tmp/openssh/sshd_config >/etc/ssh/sshd_configchmod 600 /etc/ssh/ssh_host_rsa_keychmod 600 /etc/ssh/ssh_host_ecdsa_keychmod 600 /etc/ssh/ssh_host_ed25519_key#更新ssh服务启动配置文件rm -rf /usr/lib/systemd/system/sshd.servicesystemctl daemon-reloadcp /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshdchkconfig --add sshdchkconfig sshd on/etc/init.d/sshd restart/etc/init.d/sshd status#验证升级版本ssh -Vecho -e "OpenSSH安装完成" "\033[31m Success\033[0m"