Назад | Перейти на главную страницу

Ограничение входа через SSH по IP-адресу в Debian

Я хочу разрешить вход по SSH только с 3 IP-адресов: 111.111.111.111, 222.222.222.222 и 333.333.333.333. Я знаю, мне нужно отредактировать файлы /etc/hosts.allow и /etc/hosts.deny.

У меня вопрос о содержании этих файлов. Я видел разные варианты:

# /etc/hosts.allow

Вариант 1:

sshd: 111.111.111
sshd: 222.222.222
sshd: 333.333.333

Вариант 2:

sshd: 111.111.111, 222.222.222, 333.333.333

Вариант 3: (без запятых):

sshd: 111.111.111 222.222.222 333.333.333

Вариант 4 (с sshdfwd-X11):

sshd,sshdfwd-X11: 111.111.111 222.222.222 333.333.333

/etc/hosts.deny

Вариант 1:

sshd: ALL

Вариант 2:

sshd,sshdfwd-X11:ALL

Какой правильный? Я боюсь заблокировать меня. Спасибо.

Я бы сделал это лично в sshd_config с помощью AllowUsers.

AllowUsers = *@111.111.111.111, *@222.222.222.222, *@333.333.333.333

Для меня это сохраняет всю конфигурацию на месте, связанном с приложением, которым вы управляете. Всегда есть более одного способа снять шкуру с кошки с помощью UNIX, но если инструмент предлагает определенный механизм управления, я предпочитаю его всему остальному (это обычно более портативный).

При изменении чего-либо, связанного с удаленным доступом,

  1. всегда иметь несколько сессий на сервере
  2. вносить изменения изнутри экрана или сеанса tmux, чтобы вы могли повторно подключиться к нему, если вы потеряете соединение
  3. попробуйте внести изменения с консоли, отличной от ssh, если возможно

Я считаю, что если у вас уже есть несколько удаленных сеансов, все будет в порядке. Изменение /etc/ssh/sshd_config и повторное использование SSH не отключает существующие сеансы.

Хотя я понимаю, что это не ответ на ваш конкретный вопрос. Я считаю Джефф отвечает (в том смысле, что все эти варианты действительны, если вы используете /etc/hosts.deny или /etc/hosts.allow).

Как правило, я предпочитаю реализовывать подобные правила, используя iptables.

Что касается правильного варианта, все они должны работать. В соответствующая страница руководства (спасибо, что поймал это Оливер) говорит, что можно использовать пробелы или запятые. Также обсуждается, что любой матч daemon: client будет учитываться, и что несколько клиентов могут быть перечислены в строке, и все несколько записей для демона будут оцениваться.