我已经设置了 Denyhosts 在我的服务器上运行,并且在过去的几周内一直成功使用它,它允许我从我的家用开发机器 ssh 进入我的服务器。
今天早上,我无意中三次输入了错误的密码 - 最终被锁定在系统之外(这没关系,因为这是理所当然的)。我通过另一种方式登录服务器并采取了以下操作(按给定的顺序)
- /etc/init.d/ssh 停止
- /etc/init.d/denyhosts 停止
- 从 /etc/hosts.deny 中删除了我的 IP 地址
- /etc/init.d/ssh 启动
- /etc/init.d/denyhosts 启动
在步骤 4 和步骤 5 之间,我检查了 /etc/hosts.deny。我注意到,只要我启动了denyhosts,我的 IP 地址就会再次添加到 hosts.deny 文件中。看来denyhosts 正在某个地方缓存此信息,我无法重置它。
有人知道我该如何解决这个问题吗?我在 Ubuntu 10.0.4 上运行
顺便说一下,我收到的错误消息是:
sh_exchange_identification:远程主机关闭连接
[编辑]
我查看了 /var/lib/denyhosts,发现我的 IP 地址有多个条目(此处更改为 12.34.56.78)。为什么有这么多条目 - 我需要删除哪一个?
./hosts:12.34.56.78:6:2010 年 8 月 10 日星期二 11:37:07
./hosts-root:12.34.56.78:0:2010 年 8 月 9 日星期一 09:04:36
./hosts-valid:12.34.56.78:0:2010 年 8 月 9 日星期一 09:04:36
答案1
请签入文件,/var/lib/denyhosts/
因为您的 IP 也存储在那里。将来,请将您的 IP 添加到/etc/hosts.allow
:
ALL: xx.xx.xx.xx