首页 > 技术文章 > centos 7 安装 denyhosts 3,启动denyhosts后,无法登录的解决方案

alantop 2020-10-12 21:59 原文

控制台登录

./daemon-control-dist  stop

vim /etc/hosts.deny

删除自己的ip地址

iptables -F

如何解决:

1.清空日志

echo "" > /var/log/secure

 

2. 这时再将hosts.deny中你要解禁的IP删除,清理掉。 保存。 

 

3. 重置系统日志计数器

重启如下服务

   service rsyslog restart   或者是 service syslog restart 

./daemon-control-dist  stop

./daemon-control-dist  start

 

dengyhosts 3.1 在centos 7下的安装

1)首先判断系统安装的sshd是否支持TCP_Wrappers(默认都是支持的):

[root@node1 ~]$ ldd /usr/sbin/sshd | grep libwrap.so.0
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fd30bd5a000)
2.官方网站 git clone下载 3.1源码

python setup.py install
安装提示缺少模块
安装pip 安装缺少的模块
yum install python-pip
按照提示升级pip

pip install ipaddr
重新到git clone的目录下 运行 python setup install

安装完毕
vim /etc/denyhosts.cfg

配置文件说明
SECURE_LOG = /var/log/secure #上面表示安全日志的位置 HOSTS_DENY = /etc/hosts.deny PURGE_DENY = 30m #表示过多久后清除 BLOCK_SERVICE = sshd DENY_THRESHOLD_INVALID = 5 #表示允许无效用户(/etc/passwd未列出)登录失败的次数 DENY_THRESHOLD_VALID = 10 #表示普通有效用户登录失败的次数 DENY_THRESHOLD_ROOT = 3 #表示允许root登录失败的次数
HOSTS_DENY = /etc/hosts.deny                  #控制用户登陆的文件
PURGE_DENY = 30m                              #过多久后清除已经禁止的,设置为30分钟;
# ‘m’ = minutes
# ‘h’ = hours
# ‘d’ = days
# ‘w’ = weeks
# ‘y’ = years
BLOCK_SERVICE = sshd                         #禁止的服务名,当然DenyHost不仅仅用于SSH服务
DENY_THRESHOLD_INVALID = 1                   #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3                     #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 3                      #允许root登陆失败的次数
DAEMON_LOG = /var/log/denyhosts              #DenyHosts日志文件存放的路径,默认

改成服务形式
cp denyhosts.service /usr/lib/systemd/system/
systemctl enable denyhosts.service

日志查询
/var/log/denyhosts
查看被封的主机
/etc/hosts.deny

查看防火墙的封ip记录
iptables -L

推荐阅读