Как инсталлировать IP на основе корневого входа SSH

У меня была эта настройка раньше моим другом, но он потерялся при переустановке.

В основном то, что произошло, когда кто-то будет напрямую SSH на моем сервере, так как root их IP будет заблокирован, вам нужно будет войти с помощью пользовательского имени пользователя и использовать «sudo», чтобы получить привилегии root.

К сожалению, поиск обычных ключевых слов для этого вопроса только учит меня отключать вход в систему root, что не совсем то, что я хочу.

Мой сервер работает с последней версией Debian.

SSHd не запрещает IP-адреса. Всякий раз, когда он сталкивается с ошибкой аутентификации, он добавляет запись в свой журнал и продолжает двигаться. Другие части программного обеспечения, однако, могут читать эти журналы впоследствии и запрещать IP-адреса в соответствии с их правилами. Наиболее распространенным демоном, используемым для такой задачи, является fail2ban.

Fail2ban работает с тюрьмами. Каждая тюрьма связана с сервисом, файлом журнала и соответствует определенному набору правил. Всякий раз, когда IP входит в сферу правил тюрьмы, он немедленно заносится в черный список за определенное количество времени (также указанное в правилах тюрьмы). Ниже приведен пример тюрьмы fail2ban для службы SSH (в моем случае она установлена ​​в /etc/fail2ban/jail.conf ):

 [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 

Благодаря этому правилу, если какой-либо IP-адрес не сможет войти в систему более 3-х раз за 10 минут, демон fail2ban добавит его в цепочку iptables , что приведет к удалению всех входящих сетевых пакетов с этого IP- адреса .

Теперь, если вы считаете следующую тюрьму …

 [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 1 findtime = 60 bantime = -1 

… В этом случае любой IP-адрес, который не может аутентифицироваться, будет запрещен навсегда. Обратите внимание, что с помощью настраиваемого фильтра можно полностью настроить только учетные записи root. Также помните, что корневые логины по умолчанию отключены по умолчанию: учетная запись root не должна быть доступна для всех, кто может напрямую подключиться. Гораздо безопаснее входить в систему с вашим именем пользователя, а затем использовать sudo всякий раз, когда вам это нужно: для этого требуется, чтобы злоумышленники находили как имя пользователя, так и пароль, а имя пользователя root уже известно.

Звучит как проблема с конфигурацией с помощью «/ etc / ssh / sshd_config». Измените строку ниже

 PermitRootLogin no 

к

 PermitRootLogin yes 

И перезапустите службу ssh