由denyhosts工具導致的ssh時發生connection timed out during banner exchange


記錄一下,便於以后查詢

1、A機器ssh到B機器失敗,打印出錯誤“connection timed out during banner exchange”

2、然后嘗試加了ssh的選項 -o ConnetTimeout=30,仍然ssh失敗,打印錯誤“ssh_exchange_identification: Connection closed by remote host”

3、到B機器上查看/var/log/secure日志,發現“refused connect from xx.xx.xx.xx(A機器的ip)”

4、查看/etc/hosts.allow, 空的

5、查看/etc/hosts.deny,發現里面有“sshd:A機器的ip” ,說明了A機器ip會連接B機器的sshd服務時,會被拒絕,於是從hosts.deny中去掉這條內容

6、重啟sshd服務,/etc/init.d/sshd restart

7、再次嘗試A機器ssh到B機器失敗,檢查/etc/hosts.deny,發現A機器的ip又被添加進去了,前面還有一條注釋,類似如下內容:

"# DenyHosts: Mon Jun 21 xx:xx:xx 2012 | sshd: xx.xx.xx.xx"

8、經過查詢發現是denyhosts工具會自動分析secure日志,添加一些認為需要拒絕的ip到hosts.deny中,例如多次ssh連接但輸入錯誤密碼的情況就又可能拒絕,具體的規則可以看/etc/denyhosts.conf或者denyhosts.cfg文件中的配置

9、為了讓A機器始終可以訪問B機器,不打算修改denyhosts的規則,而是直接添加“sshd:A機器ip”到hosts.allow文件中,重啟sshd,問題解決

 

DenyHosts是Python語言寫的一個程序,它會分析sshd的日志文件(/var/log/secure),當發現重 復的攻擊時就會記錄IP到/etc/hosts.deny文件,從而達到自動屏IP的功能

可以參考百度百科的介紹:http://baike.baidu.com/view/5328090.htm


免責聲明!

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



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