1、检查安装环境
检查Sshd是否支持Tcpwrap
ldd /usr/sbin/sshd |grep wrap
2、检查python版本
python –V
3、安装Denyhost
官方地址:http://denyhost.sourceforge.net
python setup.py install
程序脚本自动安装到/usr/share/denyhosts
库文件自动安 装到/usr/lib/python2.3/site-packages/DenyHosts
  denyhosts.py自动安装到/usr/bin
设置启动脚
SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析该日志文件
#其它版本linux根据denyhosts.cfg-dist内提示选择。

PURGE_DENY = 30m
#过多久后清除

DENY_THRESHOLD_INVALID = 1
#允许无效用户 (/etc/passwd未列出)登录失败的次数

DENY_THRESHOLD_VALID = 5
#允许有效(普 通)用户登录失败的次数

DENY_THRESHOLD_ROOT = 3
#允许root登录失败的次数

HOSTNAME_LOOKUP=NO
#是否做域名反解

把Denyhost加入到开机启动中
echo '/usr/share/denyhosts/daemon-control start'>>/etc/rc.d/rc.local启动Denyhost的进程
/usr/share/denyhosts/daemon-control start可以查看到Denyhost在运行中
ps -ef | grep deny
Ssh连接记录的日志文件
tail /var/log/secure –f
Denyhost日志文件
tail /var/log/denyhosts –f
Denyhost将恶意连接的IP记录到Hosts.deny文件中,过一定时间后再从该文件中清除(Denyhost.cfg中设定的时间)
vi /etc/hosts.deny

Denyhost 配置文件详解

SECURE_LOG = /var/log/secure   安全日志路径
HOSTS_DENY = /etc/hosts.deny  拒绝的IP地址文件路径
PURGE_DENY = 24h  被禁止的IP屏蔽的的时间,过了这个时间自动解锁
BLOCK_SERVICE  = sshd 需要拒绝的服务名字
DENY_THRESHOLD_INVALID = 5  某一个无效的用户输入多少次锁定
DENY_THRESHOLD_VALID = 10  某一个有效的用户连续输错多少次后锁定
DENY_THRESHOLD_ROOT = 2  Root 用户连续输错多少次后被锁定。
DENY_THRESHOLD_RESTRICTED = 1   暂时未知
WORK_DIR = /usr/share/denyhosts/data  文件存放路径
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES   暂时未知
HOSTNAME_LOOKUP=YES  是否解析域名IP
LOCK_FILE = /var/lock/subsys/denyhosts

      ############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL =  管理员邮箱
SMTP_HOST = localhost  SMTP服务器
SMTP_PORT = 25  SMTP端口
SMTP_FROM = DenyHosts <nobody@localhost> 邮件出处
SMTP_SUBJECT = DenyHosts Report  邮件主题
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
 ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
 #########   THESE SETTINGS ARE SPECIFIC TO     ##########
  #########       DAEMON SYNCHRONIZATION         ##########


4.  修改成开机启动就可以
ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhost
chkconfig --add denyhost
chkconfig --level 35 denyhost on
cat /etc/hosts.deny
/etc/rc.d/init.d/denyhost restart