openSSH升級解決安全漏洞問題

       重裝openSSH更高級的版本解決安全漏洞問題,會導致我們常用的鏈接會斷掉,有兩種解決方案,一種是多開幾個ssh的鏈接,因爲openSSH斷開後就不會新建鏈接[沒測試過];另一個方案就是安裝telnet替換,因爲telnet的安全性問題,升級SSH成功後,最好將telnet服務關掉。
                                                                                          安裝telnet服務
1、安裝未安裝的軟件
安裝telnet-server、telnet
查詢是否安裝
rpm -qa | grep telnet-server
rpm -qa | grep telnet
telnet-server.x86_64 1:0.17-64.el7
telnet.x86_64 1:0.17-64.el7
rpm -qa | grep xinetd
xinetd.x86_64 2:2.3.15-13.el7
1.1 在線安裝
yum -y install xinetd
yum -y install telnet
yum -y install telnet-server

1.2 下載離線包
yum -y install --downloadonly --downloaddir=/home nfs-utils
這個指令,如果您的系統已經下載了相關安裝包,那麼這些rpm包是無法下載保存的
yum install --downloadonly --installroot=/tmp/createrepo --releasever=/ --downloaddir=/root/createrepo-rpms createrepo
這個指令可以解決上個指令的問題
兩個指令均會下載相應的依賴包
downloadonly指出本次下載僅僅下載
downloaddir指定了保存的目錄
Installroot 設置安裝root

安裝 rpm -ivh telnet.rpm
2、修改telnet文件
cd /etc/xinetd.d

Xinetd 託管服務。又名:超級守護進程,可以把一些小服務放到xinetd裏進行託管。拖管後的好處就是可以使用xinetd強大的參數來控制這些服務,並且增強安全性。
修改telnet文件爲:
# default: yes
# description: The telnet server servestelnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}

3、啓動telnet和依賴的xinetd服務
systemctl restart  xinetd.service
查看啓動ps -ef | grep xinetd  查看進程
 
chkconfig --list
[莫名其妙的就不能識別了!]
netstat -tunlp

4、添加23端口或關閉防火牆
關閉防火牆
systemctl stop firewalld.service

添加
firewall-cmd --zone=public --add-port=23/tcp --permanent    (--permanent永久生效,沒有此參數重啓後失效)
重新載入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=23/tcp
刪除
firewall-cmd --zone= public --remove-port=23/tcp --permanent

5、設置服務開機啓動
chkconfig --level 35 xinetd on
systemctl enable xinetd.service

Error:telnet下root登錄,密碼正確,總提示:Login incorrect
 
解決1:註釋/etc/pam.d/remote的第一行,
即:auth required pam_securetty.so
https://www.cnblogs.com/ilinuxer/p/5087447.html  介紹了pam

                                                                                       升級openSSH
1、查詢當前的ssh版本
ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

rpm -qa | grep openssh
openssh-6.6.1p1-31.el7.x86_64
openssh-server-6.6.1p1-31.el7.x86_64
openssh-clients-6.6.1p1-31.el7.x86_64

2、卸載當前的ssh
2.1、停止ssh服務

/bin/systemctl stop  sshd.service


2.2、卸載openSSh
【yum remove openssh -y 】 可選 沒測試   

rpm -qa |grep openssh
openssh-6.6.1p1-31.el7.x86_64
openssh-server-6.6.1p1-31.el7.x86_64
openssh-clients-6.6.1p1-31.el7.x86_64

[root@localhost /]# rpm -e --nodeps openssh-server
[root@localhost /]# rpm -e --nodeps openssh-clients
[root@localhost /]# rpm -e --nodeps openssh

rpm -e --nodeps `rpm -qa |grep openssh`   [--nodeps 強制卸載 不考慮其他軟件的依賴關係]


2.3、備份原來的ssh配置文件
mv /etc/ssh /etc/ssh_bak

3、編譯安裝openssh
3.1 tar -zxvf openssh-7.9p1.tar.gz

3.2安裝依賴包:
yum install gcc openssl-devel zlib-devel
 
離線安裝:
yum install --downloadonly --installroot=/tmp/createrepo --releasever=/ --downloaddir=/root/openssh gcc openssl-devel zlib-devel

rpm -Uvh *.rpm --nodeps --force
[root@oracle openssh2]# rpm -Uvh *.rpm --nodeps –force
安裝時,這兩個包沒裝成功,不影響,注:centos包裝了後會影響版本號
centos-release-7-6.1810.2.el7.centos.x86_64
filesystem-3.2-21.el7.x86_64


3.3 配置,安裝
(1)./configure --sysconfdir=/etc/ssh/ --with-md5-passwords
缺省安裝路徑爲:/usr/local/bin/ssh
make && make install


(2)./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords  --without-hardening
--prefix=/usr/local/openssh 安裝路徑
--sysconfdir=/etc/ssh 配置文件路徑
--with-pam 認證模塊 在/etc/pam.d/目錄下管理,啓用PAM,需要有一個控制文件,按照提示的路徑找到redhat/sshd.pam,並複製到/etc/pam.d/sshd,在/etc/ssh/sshd_config中打開UsePAM yes                                                                                           --with-md5-passwords 使用md5加密                                                                                                                                            --without-hardening 加強


3.4 拷貝ssh服務文件
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd

3.5修改SSHD服務文件
vim /etc/init.d/sshd
修改以下內容
SSHD=/usr/sbin/sshd 爲 SSHD=i
/usr/sbin/ssh-keygen -A 爲 /usr/local/bin/ssh-keygen -A
保存退出

在$SSHD $OPTIONS && success || failure這句話前面加一句:
OPTIONS="-f /etc/ssh/sshd_config"

 

3.6 配置開機啓動
chkconfig --add sshd
chkconfig sshd on


/etc/ssh         openSSH配置文件路勁
/etc/init.d/
[獨立運行的守護進程由init腳本負責管理,所有獨立運行的守護進程的腳本在/etc/rc.d/init.d/目錄下]

ERROR:Ssh服務器拒絕了密碼
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章