я бегу Ubuntu 13.10
(не LTS, я знаю ...). у меня есть denyhosts
установлены. у меня есть /etc/hosts.deny
и /etc/hosts.allow
. Я добавил 2 IP в hosts.allow
(дом + работа). Однако всякий раз, когда я вхожу в систему с этих IP-адресов, я получаю электронное письмо с сообщением о подозрительном входе в систему.
Я пробовал отформатировать свой hosts.allow
файл двумя разными способами. Ни то, ни другое не работают.
Первый:
...
sshd: iii.i.i.iii : allow
sshd: iii.i.i.iii : allow
Второй:
...
sshd: iii.i.i.iii
sshd: iii.i.i.iii
Не знаю, связано ли это, но если я что-то заметил, я не могу объяснить.
Если я сбегу
$ sudo service denyhosts restart
* Stopping DenyHosts denyhosts [ OK ]
/etc/init.d/denyhosts: 44: test: /etc/hosts.deny: unexpected operator
* Starting DenyHosts denyhosts
Но если я ищу ошибку в hosts.deny или hosts.allow, не могу ее найти:
sudo test -e /etc/hosts.allow
sudo test -e /etc/hosts.deny
И прежде чем я забуду, мой /etc/denyhosts.conf
файл :
...
# Most operating systems:
HOSTS_DENY = /etc/hosts.deny
#
# Some BSD (FreeBSD) Unixes:
HOSTS_DENY = /etc/hosts.allow
...
Как говорится в комментарии, /etc/hosts.allow, по-видимому, используется в некоторых системах BSD Unix. Это проблема? В некоторых руководствах, которые я читал для Ubuntu, очевидно, это не так.
РЕДАКТИРОВАТЬ:
В /etc/init.d/denyhosts
файл запускается:
HOSTS_DENY=$(grep ^HOSTS_DENY $CONFIG | cut -d = -f 2)
который в моем случае возвращает оба hosts.allow
и hosts.deny
.
Вам нужно прокомментировать HOSTS_DENY = /etc/hosts.allow
строка, так как вы работаете в Ubuntu, а не в BSD.
Затем вам нужно понять, как hosts.(allow|deny)
файлы обрабатываются. Сервисы, которые используют эти файлы, всегда проверяют hosts.allow
перед hosts.deny
и остановимся на первом матче. Итак, если вы предоставите доступ к IP-адресу в своем hosts.allow
файл, доступ будет предоставлен независимо от содержимого hosts.deny
. Вам не нужно беспокоиться о том, добавляет ли denyhosts дополнительные адреса в этот файл. В hosts.allow
файл в основном позволяет вам занести IP-адреса в белый список.
Увидеть hosts_access(5)
справочную страницу для получения дополнительной информации.
У вас оба раскомментированных, поэтому я полагаю, что denyhosts использует /etc/hosts.allow
. Прокомментируйте второй HOSTS_DENY
line и перезапустите denyhosts.
Если вы все еще получаете электронные письма, вам нужно добавить SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = NO
в ваш файл denyhosts.conf. Для этого требуется DenyHosts 0,6 или выше. Видеть этот для подробностей.
Вам также необходимо создать allowed-hosts
файл с вашими доверенными IP-адресами, по одному в каждой строке. Это находится в той же папке, что и WORK_DIR
в комплектации.
Иногда sshd компилируется без поддержки hosts.allow и hosts.deny (поддержка tcp-wrappers). Это произошло при моей установке Ubuntu 18.04 LTS. Чтобы проверить, поддерживает ли ваша версия sshd, выполните следующее:
Строка №1 выше предназначена для проверки того, где именно установлен sshd (например, на моей машине RedHat это был / sbin / sshd, тогда как Ubuntu был / usr / sbin / sshd), поэтому измените №2 соответствующим образом.
Строка №2 будет иметь пустой вывод, если hosts.deny + hosts.allow не поддерживается. В этом случае вы захотите загрузить исходный код с openssh.com и перестроить его:
./configure --with-libwrap
make
sudo make install