Centos7 隱藏ssh(OpenSSH) 版本號


參考:https://www.yangliuan.cn/?p=1090

 

1.安裝所需工具

yum install --downloadonly --downloaddir=rpm gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel krb5-devel
yum -y install zlib zlib-devel
yum -y install libstdc++-devel-4.8.5-44.el7.x86_64

2.下載 ssh安裝包以及ssl

wget -c http://120.79.180.193/ttt/openssl-1.1.1g.tar.gz
wget -c http://120.79.180.193/ttt/openssh-8.2p1.tar.gz

3.備份ssl文件

mv /usr/bin/openssl /usr/bin/openssl_bak 
mv /usr/include/openssl /usr/include/openssl_bak

4.解壓縮ssl 壓縮包、以及編譯安裝

tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g/
./config --prefix=/usr/local/ssl -d shared && make -j 4 && make install
echo $?

5.創建ssl軟連接

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

 ll /usr/bin/openssl
 ll /usr/include/openssl -ld

6.查看ssl版本號

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
openssl version

如果報錯openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

查找libssl.so.1.1的目錄 然后生成軟鏈接

find / -name "libssl.so.1.1"
/usr/local/lib64/libssl.so.1.1
find / -name "libcrypto.so.1.1"
/usr/local/lib64/libcrypto.so.1.1

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1 
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

再次查看版本號

openssl version #查看確認版本

ssl 安裝完成

開始安裝openssh

1.查看ssh版本

ssh -V 
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

2.備份ssh配置文件

mv /etc/ssh/ /opt

3.解壓openssh安裝包,以及編譯安裝

tar -zxvf openssh-8.2p1.tar.gz
cd openssh-8.2p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   && make -j 4 && make install

  #如果遇到權限問題 permission 0640 for xxxx 將報權限問題的目錄都設為

  600 chmod -R 0600 /etc/ssh/ssh_host_ecdsa_key

4.修改sshd配置

 echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
 echo "UseDNS no" >> /etc/ssh/sshd_config

5.從安裝目錄cp文件到目標位置

cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

6.設置執行權限

chmod +x /etc/init.d/sshd

7.添加啟動項

chkconfig --add sshd
systemctl enable sshd

8.把原先的systemd管理的sshd文件刪除或者移走或者刪除,不移走的話影響我們重啟sshd服務

mv /usr/lib/systemd/system/sshd.service /tmp/

9.設置開機啟動

chkconfig sshd on

10.重啟sshd、查看啟動狀態

systemctl restart sshd.service
systemctl status sshd.service

11.查看ssh 22端口是否啟動

netstat -ulntp

12.查看版本

ssh -V
OpenSSH, OpenSSL 1.1.1g  21 Apr 2020

 


免責聲明!

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



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