1. 程式人生 > 其它 >編譯升級openssl和openssh版本腳步

編譯升級openssl和openssh版本腳步

#!/bin/bash

build_dir=/data/project_build
openssl_download=https://www.openssl.org/source/openssl-1.1.1m.tar.gz
openssh_download=https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[ -d $build_dir ]|| mkdir -p $build_dir

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

#下載編譯包
cd  $build_dir
wget $openssh_download wget $openssl_download --no-check-certificate tar xf openssl*.tar.gz cd openssl* openssl_version=`pwd|awk -F'/' '{print $NF}'` ./config --prefix=/usr/local/${openssl_version} make && make install ln -s /usr/local/${openssl_version} /usr/local/openssl mv /usr/bin/openssl /usr/bin/openssl_old
mv /usr/include/openssl.old ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 openssl version ##openssh cd $build_dir #備份
mkdir /etc/ssh_old mv /etc/ssh/* /etc/ssh_old/ cp -r /etc/sysconfig/sshd /etc/sysconfig/sshd.bak ###停止ssh服務,並解除安裝原有的openssh### systemctl stop sshd systemctl is-active sshd #rpm -e --nodeps `rpm -qa | grep openssh` yum -y remove openssh-clients openssh openssh-server #編譯安裝 tar xf openssh*.tar.gz cd openssh* openssh_version=`pwd|awk -F'/' '{print $NF}'` ./configure --prefix=/usr/local/${openssh_version} --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords --with-pam --with-ssl-engine make && make install ln -s /usr/local/${openssh_version} /usr/local/openssh #修改配置等 cp ${build_dir}/${openssh_version}/contrib/redhat/sshd.init /etc/init.d/sshd chmod u+x /etc/init.d/sshd sed -i 's/Subsystem/#Subsystem/g' /etc/ssh/sshd_config echo 'Subsystem sftp /usr/local/openssh/libexec/sftp-server'>> /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication\ yes/PasswordAuthentication\ yes/g' /etc/ssh/sshd_config echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config #建立軟連線 ln -s /usr/local/openssh/sbin/sshd /sbin/sshd ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan ln -s /usr/local/openssh/bin/scp /usr/bin/scp ssh -V chkconfig sshd on systemctl restart sshd