• Centos自动安装openssh及openssl脚本并隐藏版本号


    #!/bin/bash
    #
    install_ssh()
    {
    NOW=`date +%Y%m%d`
    setenforce 0
    cd /usr/local/
    #Decompression installation package
    tar -xvf /usr/local/openssh-7.9p1.tar.gz
    tar -xvf /usr/local/openssl-1.1.0h.tar.gz
    openssh_dir=/usr/local/openssh
    if [ -d $openssh_dir ];then
    	rm -rf $openssh_dir
    fi
    mv /usr/local/openssh-7.9p1/ /usr/local/openssh/
    #Back up original files
    mv /etc/init.d/sshd /etc/init.d/sshd_$NOW
    mv /etc/ssh /etc/ssh_$NOW
    mv /etc/ssl /etc/ssl_$NOW
    mv /usr/bin/openssl /usr/local/openssl_$NOW
    mv /usr/include/openssl /usr/include/openssl_$NOW
    mv /usr/lib/openssl /usr/lib/openssl_$NOW
    #Install the package of openssl
    cd /usr/local/openssl-1.1.0h/
    ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib64 shared zlib-dynamic
    make depend
    make
    make MANDIR=/usr/share/man MANSUFFIX=ssl install
    ldconfig -v
    #Install the package of openssh and hidden version
    sed -i 's/OpenSSH_7.9/OpenSSH/' /usr/local/openssh/version.h
    cd /usr/local/openssh/
    ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/ssl --with-md5-passwords --with-pam=enable --mandir=/usr/share/man --without-openssl-header-check
    make
    make install
    #Copy system files
    cp /usr/local/openssh/contrib/redhat/sshd.init /etc/init.d/sshd
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    sed -i 's@/sbin/restorecon /etc/ssh/ssh_host_key.pub@@' /etc/init.d/sshd
    #The solution to Centos 7
    if [ `cat /etc/redhat-release | awk -F . '{print $1}' | awk '{print $NF}'` -eq 7 ];then
         mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.bak
         mv /usr/lib/systemd/system/sshd.socket /usr/lib/systemd/system/sshd.bak_1
         systemctl daemon-reload
    fi
    #Login to other server configurations
    cat >> /etc/ssh/ssh_config << EOF
    IPQoS lowdelay throughput
    EOF
    #Complete the installation and restart the service
    chkconfig sshd on
    rm -rf /usr/local/openssh-7.9p1.tar.gz
    rm -rf /usr/local/openssl-1.1.0h.tar.gz
    service sshd restart
    }
    
    check_depend_pack()
    {
         #Check for dependent packages
         NUM=`rpm -qa gcc zlib-devel perl | wc -l`
         if [[ $NUM -lt 3 ]];then
    
    	   echo -e "33[43;31mSorry Sir. You need to install package gcc and zlib-devel and perl.33[0m"
         else
               install_ssh
         fi
    }
    
    #Program entry
    check_depend_pack
    

      

  • 相关阅读:
    每天干的啥?(2017.7)
    每天干的啥?(2017.6)
    每天干的啥?(2017.5)
    每天干的啥?(2017.4)
    C# WinForm中如何让当前应用程序只允许启动一个实例
    C# WinForm 关闭登陆窗体后进程还再内存怎么办?
    ASP.NET在MVC控制器中获取Form表单值的方法
    C#封装CRUD到SqlHelper类解读
    windows 10微软账户不能访问局域网共享,但是本地账户可以访问
    C#高级参数params的使用
  • 原文地址:https://www.cnblogs.com/hjc4025/p/10845078.html
Copyright © 2020-2023  润新知