Подтвердить что ты не робот

Denyhosts продолжает добавлять мой IP-адрес

Я пытаюсь разблокировать IP-адрес, из которого я делал некоторые тесты. Я следил за учебниками в сети:

$ sudo /etc/init.d/denyhosts stop
$ sudo vim /etc/deny.hosts
[remove the last line where I can see my IP to clear]
$ cd /var/lib/denyhosts/
$ sudo vim *
[remove any occurences of my IP to clear]
$ sudo /etc/init.d/denyhosts start

В этот момент мой IP снова появляется в /etc/deny.hosts. Я также попробовал:

$ cd /var/lib/denyhosts/
$ echo '123.456.789.122' >> /var/lib/denyhosts/allowed-hosts

Я также пробовал:

$ echo 'my.ip.to.clear' >> /etc/hosts.allow

К сожалению, hosts.deny всегда имеет приоритет и отказывает соединение ssh, как видно из файла журнала:

Feb 10 10:06:24 ks123456 sshd [22875]: отказался от подключения 123.456.789.122 (123.456.789.122)

ref: debian/6.0.4, denyhosts 2.6-10

4b9b3361

Ответ 1

Инструкции по удалению записи для denyhosts можно найти здесь: http://www.cyberciti.biz/faq/linux-unix-delete-remove-ip-address-that-denyhosts-blocked/. В Ubuntu файлы данных denyhosts расположены в /var/lib/denyhosts.

  • Убедитесь, что в denyhosts нет записей, которые представляют доменное имя для вашего IP-адреса.
  • После удаления всех вхождений вашего IP-адреса и имени домена из /etc/deny.hosts(/etc/hosts.deny для Ubuntu), если вы все еще не можете войти в систему, проверьте журнал проверки подлинности, как правило, в: /var/log/auth.log Это может дать вам ключ к вашей проблеме.
  • Если вы используете linux как на сервере, так и на клиенте, вы можете использовать идентификатор ssh-copy-id, чтобы вам не нужен пароль для входа в систему, чтобы предотвратить блокировку себя, используя неправильный пароль слишком много раз в будущее.

У меня были проблемы, потому что у меня было место, сохраненное в Дельфине на KDE, до моего растра, используя sftp. Dolphin использует ваше текущее имя пользователя, чтобы попытаться выполнить вход в систему, в котором был добавлен мой IP-адрес в файл hosts.deny.

Ответ 2

Это работало для меня на Centos. Следуйте 8 шагам ниже, и вам должно быть хорошо идти.

  • Остановить DenyHosts

    # services denyhosts stop

  • Удалите IP-адрес из /etc/hosts.deny

  • Измените /var/lib/denyhosts/hosts и удалите строки, содержащие IP-адрес. Сохраните файл.

  • Измените /var/lib/denyhosts/hosts-restricted и удалите строки, содержащие IP-адрес. Сохраните файл.

  • Измените /var/lib/denyhosts/hosts-root и удалите строки, содержащие IP-адрес. Сохраните файл.

  • Измените /var/lib/denyhosts/hosts-valid и удалите строки, содержащие IP-адрес. Сохраните файл.

  • Измените /var/lib/denyhosts/users-hosts и удалите строки, содержащие IP-адрес. Сохраните файл.

(необязательно). Попробуйте добавить IP-адрес в /var/lib/denyhosts/allowed -hosts

  1. Запустите DenyHosts

    # services denyhosts start

Ответ 3

Просто добавьте IP-адрес, который должен всегда иметь доступ к файлу:

/etc/hosts.allow

Эта запись может выглядеть так:

ALL: 30.20.10.0/24

Таким образом, даже если он заканчивается в /etc/hosts.deny, IP будет по-прежнему иметь доступ.

Mind ALL до IP, я вижу, что вы забыли это с помощью инструкции echo.

Литература:

Ответ 4

Если вышеприведенные инструкции не помогли, возможно, denyhosts добавили IP в брандмауэр iptables.

iptables -L -n -v | grep xxx.xxx.xxx.xxx

Если вы видите что-то подобное:

0 0 DROP all -- * * xxx.xxx.xxx.xxx 0.0.0.0/0

Удалите требуемый IP-адрес из брандмауэра:

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

И перезапустите сеть, чтобы применить изменения:

/etc/init.d/networking restart

Ответ 5

Вот что сработало для меня на CentOS 6.7

  • Остановить DenyHosts (ver 2.6) ./daemon-control stop
  • Удалите строку /s с вашим/целевым IP-адресом из /etc/hosts.deny
  • Удалите строку /s с вашим/целевым IP-адресом из /usr/share/denyhosts/data/hosts
  • Удалите строку /s с вашим/целевым IP-адресом из /usr/share/denyhosts/data/hosts-restricted
  • Удалите строку /s с вашим/целевым IP-адресом из /usr/share/denyhosts/data/hosts-root
  • Удалите строку /s с вашим/целевым IP-адресом из /usr/share/denyhosts/data/hosts-valid
  • Удалите строку /s с вашим/целевым IP-адресом из /usr/share/denyhosts/data/users-hosts
  • ДОБАВЛЯЕТ ваш/целевой IP-адрес /usr/share/denyhosts/data/allowed-hosts. Этот файл просто ожидает один IP-адрес. Любой IP-адрес, который отображается в этом файле, не будет заблокирован.
  • Начать DenyHosts ./daemon-control start

Ответ 6

Вы можете сделать это в 4 командах. Он автоматизирует более ранний ответ от @Abdellatif с помощью python script, поэтому вам следует внимательно взглянуть на , прежде чем вставлять эти 4 строки в команду (заменив IP_ADDRESS на ip-адрес):

sudo /etc/init.d/denyhosts stop
git clone  https://github.com/rsprabery/unblock.git
sudo python unblock/unblock.py <IP_ADDRESS>
sudo /etc/init.d/denyhosts start

Он должен работать на всех системах Ubuntu. И это быстро. И вам не нужно редактировать какие-либо файлы. Но вы используете кого-то еще script как sudo.

Ответ 7

Добавление к старому вопросу, но в Debian Wheezy удаление IP-записей не помогло: в течение нескольких секунд после запуска "service denyhost start" IP будет повторно добавлен в hosts.deny и все файлы в /var/lib/DenyHosts/. Оказывается, DenyHosts повторно просматривал /var/log/auth.log, который включал неудачные попытки входа в систему.

После удаления записи IP из файлов, перечисленных выше, перед перезагрузкой denyhosts принудительно запустите auth.log, запустив (как пользователь root):

logrotate -vf /etc/logrotate.d/rsyslog

Дважды проверьте, что /var/log/auth.log пуст, а затем перезапустите denyhosts.