CentOS7 源码安装OpenssH到8.1p1版本

#!/bin/bash

CPU_COUNT=`cat /proc/cpuinfo |grep -c processor`
SRC_SSH_PACK='openssh-8.1p1'
SRC_SSL_PACK='openssl-1.0.2t'


Test_package() {
    rpm -q ${1} &>/dev/null
    if [ $? -ne 0 ];then  
        yum -y install ${1} || echo "${1} install failed, Script exit.";exit 1  
    fi
}

Install_SSL() {
    curl -o /usr/src/${SRC_SSL_PACK}.tar.gz http://Manager_Host/packages/src/${SRC_SSL_PACK}.tar.gz
    cd /usr/src && tar xf ${SRC_SSL_PACK}.tar.gz && cd ${SRC_SSL_PACK} && ./config --prefix=/usr/local/openssl threads zlib shared && make -j $CPU_COUNT && make install && chmod -R 755 /usr/local/openssl && sed -i '/local\/openssl\/lib/d' /etc/ld.so.conf ;echo "/usr/local/openssl/lib">>/etc/ld.so.conf && ldconfig
}

install_SSH() {
    curl -o /usr/src/${SRC_SSH_PACK}.tar.gz http://Manager_Host/packages/src/${SRC_SSH_PACK}.tar.gz
    sed -i '/GSSAPIAuthentication/s/^/#/' /etc/ssh/sshd_config
    sed -i '/GSSAPICleanupCredentials/s/^/#/' /etc/ssh/sshd_config
    chmod 600 /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_rsa_key
    cd /usr/src/ && tar xf ${SRC_SSH_PACK}.tar.gz && cd ${SRC_SSH_PACK} && ./configure -prefix=/usr -sysconfdir=/etc/ssh -with-ssl-dir=/usr/local/openssl -with-zlib -with-pam-with-md5-passwords  --with-pam --without-zlib-version-check && make -j ${CPU_COUNT} && make install
    sed -i '/#PasswordAuthentication yes/s/#//' /etc/ssh/sshd_config
    sed -i '/#PermitRootLogin yes/s/#//' /etc/ssh/sshd_config
    sed -i '/#PubkeyAuthentication yes/s/#//' /etc/ssh/sshd_config
    systemctl enable sshd 
}

Test_package "gcc"
Test_package "zlib-devel"
Test_package "pam-devel"

Install_SSL SRC_SSL_PACK
install_SSH SRC_SSH_PACK

猜你喜欢

转载自www.cnblogs.com/liy36/p/12579864.html