Centos自動安裝openssh及openssl腳本並隱藏版本號


#!/bin/bash
#
install_ssh()
{
NOW=`date +%Y%m%d`
setenforce 0
cd /usr/local/
tar -xvf /usr/local/openssh-7.5p1.tar.gz
tar -xvf /usr/local/openssl-1.0.1t.tar.gz
mv /usr/local/openssh-7.5p1/ /usr/local/openssh/
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
cd /usr/local/openssl-1.0.1t/
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib64 shared zlib-dynamic
make depend
make
make MANDIR=/usr/share/man MANSUFFIX=ssl install
ldconfig -v
sed -i 's/OpenSSH_7.5/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 --mandir=/usr/share/man --without-openssl-header-check
make
make install
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
chkconfig sshd on
service sshd restart
}
check_depend_pack()
{
     NUM=`rpm -qa gcc zlib-devel perl | wc -l`
     if [[ $NUM -lt 3 ]];then

           echo "Sorry Sir. You need to install the package of gcc and zlib-devel and perl."
     else
           install_ssh
     fi
}

check_depend_pack

 

在安裝Centos7.6的時候出現了一點小問題,使用上述腳本安裝后,執行service sshd restart 發現不管用了

這是因為sshd不兼容systemd造成的,改成sysv不會出錯,所以我執行如下兩句:

mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.bak
systemctl daemon-reload

  之后再使用service sshd restart 就沒有問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM