Безопасность серверов

Безопасная настройка SSH: ключи, root и ограничение доступа

Как перейти на SSH-ключи без потери доступа: проверить отдельную учётную запись, отключить пароли и root-вход, ограничить пользователей и forwarding.

14 минут
абстрактная иллюстрация защищённого удалённого доступа к серверу
Безопасную настройку SSH выполняют поэтапно: сначала создают отдельную непривилегированную учётную запись с sudo, добавляют ей ключ и проверяют вход в новой сессии. Только после этого отключают парольную аутентификацию, прямой вход root, ограничивают список допущенных к SSH учётных записей и запрещают ненужные перенаправления. До применения запретительных параметров сохраняют текущую сессию, проверяют конфигурацию и готовят независимый аварийный канал доступа.

Подготовьте аварийный доступ и отдельную учётную запись

Не закрывайте текущую SSH-сессию

Не применяйте PasswordAuthentication no, PermitRootLogin no, AllowUsers или ограничения по адресу, пока не выполнен вход по ключу в отдельном новом терминале. Ошибка в конфигурации, правах на файл ключей или списке разрешённых пользователей может заблокировать удалённый доступ.

Подготовьте персональную непривилегированную учётную запись, которая уже может выполнить нужные административные действия через sudo. Запрет прямого root-входа не отменяет защиту привилегированных учётных записей: пользователь с широким sudo фактически остаётся высокопривилегированным. Создание пользователей, групп и точная настройка sudo рассмотрены в статье «Учётные записи, sudo и парольная политика в Linux».

  • Оставьте текущую работающую SSH-сессию открытой до конца изменения.
  • Проверьте независимый канал восстановления: локальную консоль, консоль виртуальной машины, KVM-over-IP или BMC. Для физического сервера доступ к BMC требует отдельной защиты; см. «Защита BMC: безопасная настройка iDRAC, iLO и отдельной сети управления».
  • Зафиксируйте, каким пользователем, с какого адреса и каким ключом будет выполняться новый вход.
  • Сохраните копию текущей конфигурации SSH вне редактируемого файла.
Создаёт резервную копию основного файла конфигурации. Если используются drop-in-файлы, сохраните и каталог с ними.
sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.before-hardening

Пути и команды зависят от системы

Типичная конфигурация OpenSSH использует /etc/ssh/sshd_config и, в новых сборках, директиву Include для файлов в каталогах наподобие /etc/ssh/sshd_config.d/. Имя systemd-службы, команда reload/restart и место журналов зависят от дистрибутива, пакета и версии OpenSSH: часто это ssh либо sshd, а события доступны через journalctl или журнал аутентификации. Перед изменением проверьте документацию своего дистрибутива и вывод systemctl. Все имена директив ниже относятся к серверу OpenSSH; доступность отдельных параметров и их значения по умолчанию зависят от версии OpenSSH и криптографической политики ОС.

Создайте Ed25519-ключ с парольной фразой

Для нового ключа SSH обычно выбирают Ed25519: современный OpenSSH поддерживает этот тип, а ключ получается компактным. Однако старый OpenSSH, режим FIPS или криптографическая политика ОС могут запретить Ed25519. В таком случае не включайте устаревшие алгоритмы ради совместимости без оценки: уточните допустимый тип по политике платформы и документации установленной версии.

Генерация и установка ключа

Закрытый ключ остаётся на рабочем компьютере администратора. На сервер передают только открытый ключ.

  1. 1
    Создайте ключ на клиентском компьютере
    Выполните ssh-keygen -t ed25519 -a 64 -f ~/.ssh/id_ed25519_server_admin -C "admin@example". Укажите длинную парольную фразу на запрос Enter passphrase; пустая фраза не защищает закрытый ключ при его копировании. Параметр -a 64 задаёт число раундов KDF для защиты ключевого файла в современном формате OpenSSH. Ожидаемый результат — два файла: закрытый id_ed25519_server_admin и открытый id_ed25519_server_admin.pub.
  2. 2
    Проверьте отпечаток открытого ключа
    Выполните ssh-keygen -lf ~/.ssh/id_ed25519_server_admin.pub. Сохраните отображённый отпечаток: он позволяет сверить, какой именно открытый ключ добавлен на сервер.
  3. 3
    Добавьте открытый ключ пользователю на сервере
    Пока парольный вход ещё разрешён, выполните ssh-copy-id -i ~/.ssh/id_ed25519_server_admin.pub admin@server.example. Утилита добавит содержимое файла .pub в authorized_keys пользователя admin. Если ssh-copy-id недоступна, войдите под admin, создайте ~/.ssh и добавьте одну строку из .pub в ~/.ssh/authorized_keys вручную.
  4. 4
    Проверьте права на сервере
    Под пользователем admin выполните chmod go-w ~ && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys. При включённом StrictModes sshd проверяет владельца и режимы домашнего каталога, ~/.ssh и файлов авторизации; каталог и файлы не должны быть доступны на запись посторонним. В типичной конфигурации владельцем является сам пользователь либо root там, где это допускает OpenSSH.
client-terminal
ssh-keygen -t ed25519 -a 64 -f ~/.ssh/id_ed25519_server_admin -C "admin@example"
ssh-keygen -lf ~/.ssh/id_ed25519_server_admin.pub
ssh-copy-id -i ~/.ssh/id_ed25519_server_admin.pub admin@server.example

Не передавайте закрытый ключ на сервер, в чат или в репозиторий. Открытый ключ не является секретом и должен появиться на сервере одной строкой в authorized_keys нужного пользователя.

Проверьте вход по ключу в новой сессии

Открывает новую сессию только с указанным ключом и запрещает клиенту переходить к паролю. `IdentitiesOnly=yes` не даёт SSH-агенту предлагать лишние ключи.
ssh -i ~/.ssh/id_ed25519_server_admin -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no admin@server.example
Вывод:
Ожидаемый результат: вход выполнен без запроса пароля учётной записи сервера. Возможен запрос парольной фразы от локального закрытого ключа.
В новой SSH-сессии проверяет, что пользователь может аутентифицироваться для `sudo` и имеет ожидаемые разрешения.
sudo -v && sudo -l

Если ключ не работает

Не отключайте пароли. Оставьте старую сессию открытой и проверьте путь к ключу, выбранного пользователя, содержимое authorized_keys, права и журналы аутентификации. Подробная диагностика Permission denied (publickey), прав закрытого ключа, authorized_keys и ошибок host key приведена в статье «SSH не подключается: Permission denied, host key changed и другие ошибки».

Какие директивы отвечают за вход в SSH

ДирективаЧто регулируетПрактический смысл
PermitRootLoginВозможность аутентификации именно учётной записи rootno запрещает root-вход всеми методами; prohibit-password запрещает root пароль и keyboard-interactive, но может оставить root-вход по ключу или другим разрешённым методом.
PasswordAuthenticationПарольный метод SSHno отключает парольный вход, но не обязательно отключает keyboard-interactive/PAM.
KbdInteractiveAuthenticationKeyboard-interactive-аутентификацию, часто связанную с PAMМожет использоваться для MFA или, в зависимости от PAM, для пароля. Это отдельный метод от PasswordAuthentication.
PubkeyAuthenticationАутентификацию по открытому ключуyes разрешает вход по ключу, но не означает, что остальные методы запрещены.
AuthenticationMethodsКомбинации методов, которые необходимо пройтиПозволяет потребовать, например, ключ и keyboard-interactive/PAM для MFA. Сам по себе не настраивает PAM-провайдера.

Для полного запрета root-входа выбирайте PermitRootLogin no. Значение PermitRootLogin prohibit-password подходит только тогда, когда организация сознательно разрешает root-аутентификацию по ключу или другому непарольному методу; это не запрет root-входа. Не заменяйте одну директиву другой: PasswordAuthentication no не запрещает root по ключу, а PubkeyAuthentication yes не отключает пароль.

Внесите минимальные ограничения в sshd_config

Размещайте локальные изменения в отдельном drop-in-файле, если его подключает конфигурация вашего пакета, либо меняйте основной sshd_config. Порядок файлов и правило «первое полученное значение» для части параметров могут влиять на результат, поэтому не создавайте дублирующие противоречивые настройки.

/etc/ssh/sshd_config.d/00-local-hardening.conf
# Шаблон: адаптируйте пользователей, группы и совместимость.
# Применяйте только после успешного входа admin по ключу.

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no
# Требовать именно аутентификацию по открытому ключу.
# Для MFA замените значение комбинацией из соответствующего раздела ниже.
AuthenticationMethods publickey

# Пример allowlist: оставьте только реально нужные записи.
AllowUsers admin deploy
# Альтернатива для ролевой модели: AllowGroups ssh-admins

# Запрет встроенных перенаправлений, если они не требуются.
AllowTcpForwarding no
AllowAgentForwarding no
X11Forwarding no
PermitTunnel no
GatewayPorts no

# Пределы соединения и аутентификации.
LoginGraceTime 60
MaxAuthTries 4
MaxSessions 5
ClientAliveInterval 300
ClientAliveCountMax 2

# Только в версиях OpenSSH с поддержкой ChannelTimeout:
# ChannelTimeout session=15m

Шаблон не универсален

Этот фрагмент намеренно не задаёт криптографические алгоритмы, Ciphers, MACs и KexAlgorithms: доступный и допустимый набор определяется версией OpenSSH и системной криптополитикой. Не копируйте случайные списки алгоритмов. Изменение аутентификации, forwarding и тайм-аутов может нарушить автоматизацию, SFTP, туннели, графические приложения, bastion-схемы и мониторинг.

Ограничьте список пользователей и групп

AllowUsers и AllowGroups создают allowlist: войти смогут только перечисленные пользователи или члены указанных групп при соблюдении остальных условий. DenyUsers и DenyGroups запрещают отдельные учётные записи или группы. OpenSSH обрабатывает эти классы в порядке DenyUsers, AllowUsers, DenyGroups, AllowGroups; запрет имеет приоритет над разрешением своего типа. Имена допускают шаблоны, а в поддерживаемых версиях — форму USER@HOST для ограничения по источнику.

sshd_config
# Разрешить вход только двум локальным учётным записям
AllowUsers admin deploy

# Или разрешить членов административной группы
# AllowGroups ssh-admins

# Явно запретить скомпрометированную или более не используемую учётную запись
DenyUsers former-admin

Не смешивайте без необходимости AllowUsers и AllowGroups: итог зависит от членства в группах и перечня разрешений. После добавления AllowUsers служебная учётная запись для резервного копирования, автоматизации или SFTP может перестать входить. Такие директивы уменьшают круг SSH-пользователей, но не заменяют удаление ненужных аккаунтов, корректный sudo и сетевую политику.

Ограничьте доступ SSH по исходному адресу

Для точечного ограничения конкретного пользователя можно использовать адресную часть шаблона AllowUsers, например AllowUsers admin@192.0.2.0/24, если такой CIDR-синтаксис поддерживает установленная версия OpenSSH. Проверьте его на своей версии через тест эффективной конфигурации до reload. Вариант с шаблоном адреса также возможен, но менее точен. Это ограничение действует на уровне sshd после установления TCP-соединения и не заменяет firewall.

sshd_config
# Пример: учётная запись admin может войти только из административной подсети.
# Проверьте поддержку CIDR в документации и через sshd -T -C.
AllowUsers admin@192.0.2.0/24 deploy

Учтите NAT, VPN и IPv6

sshd видит адрес непосредственного клиента. За NAT это может быть общий адрес, через VPN — адрес VPN-пула, а IPv6 является отдельным путём доступа. Полноценное ограничение источников на уровне сети, порядок правил и аварийный доступ рассматриваются в статьях «Firewall сервера: default deny, порядок правил и политика доступа» и «Сегментация серверной сети: VPN, bastion host и защищённый административный доступ».

Отключите forwarding и настройте лимиты

AllowTcpForwarding no запрещает встроенный проброс портов SSH, AllowAgentForwarding no — перенаправление агента SSH, X11Forwarding no — X11-forwarding, а PermitTunnel no — SSH-туннельные интерфейсы. GatewayPorts no ограничивает сокеты удалённого перенаправления адресами loopback; при уже заданном AllowTcpForwarding no это дополнительное ограничение не задействуется. Перед отключением проверьте, не использует ли эти возможности администратор, CI/CD, резервное копирование, SFTP-сценарий через bastion или прикладной туннель.

Forwarding — не граница безопасности для shell-пользователя

Эти директивы отключают встроенные механизмы OpenSSH. Пользователь с обычным shell-доступом при наличии сетевых утилит и разрешённого исходящего трафика может создать иной канал. Поэтому запрет forwarding не заменяет сетевую изоляцию, firewall, ограничение команд или отдельную архитектуру bastion/VPN.
ПараметрЧто ограничиваетТипичное значение и риск
LoginGraceTimeВремя на завершение аутентификации после подключенияЗначение задаётся как интервал времени; 0 отключает лимит. В upstream OpenSSH типичный default — 120. Слишком короткое значение мешает медленным MFA-сценариям.
MaxAuthTriesЧисло неудачных попыток аутентификации на соединениеЦелое число; upstream default обычно 6. Меньшее значение снижает число переборов в одном соединении, но SSH-агент с большим числом ключей может исчерпать лимит.
MaxSessionsКоличество каналов-сеансов в одном SSH-соединенииЦелое число; upstream default обычно 10. Слишком малое значение может нарушить multiplexing, параллельные команды или SFTP-сценарии.
ClientAliveInterval и ClientAliveCountMaxОбнаружение неотвечающего SSH-клиентаИнтервал задаётся в секундах; upstream default ClientAliveInterval — 0, ClientAliveCountMax — 3. Это не тайм-аут бездействия пользователя: сервер отправляет проверочные сообщения и отключает клиента только после заданного числа отсутствующих ответов.
ChannelTimeoutНеактивность отдельных SSH-каналов по типуПоддерживается не всеми версиями; upstream default — отсутствие тайм-аутов. Например, session=15m закрывает неактивные session-каналы, а не обязательно всё соединение. Это ближе к тайм-ауту неактивности, но не универсальная замена политики idle timeout.

Защита SSH от перебора не сводится к MaxAuthTries: параметр ограничивает попытки в одном соединении, а не поток новых подключений. Для реагирования на повторяющиеся неудачные входы можно применять Fail2ban с осторожно подобранными порогами; см. «Fail2ban: защита SSH и веб-сервера от перебора паролей».

При необходимости потребуйте ключ и MFA

Многофакторная аутентификация для SSH — опциональный слой. Она требует настроенного и проверенного PAM-провайдера или другого поддерживаемого механизма: сама директива sshd не создаёт второй фактор. Не включайте требование MFA, пока не проверена аварийная процедура при недоступности устройства, TOTP или внешнего провайдера.

sshd_config
# Пример только для системы, где MFA через PAM уже настроена и проверена.
PubkeyAuthentication yes
KbdInteractiveAuthentication yes
PasswordAuthentication no
AuthenticationMethods publickey,keyboard-interactive:pam

AuthenticationMethods publickey,keyboard-interactive:pam задаёт последовательность: сначала ключ, затем keyboard-interactive через PAM. Запись через запятую означает обязательную комбинацию методов; несколько альтернативных комбинаций указывают через пробел. Если оставить KbdInteractiveAuthentication no, требуемая комбинация не сработает. Конкретная интеграция, например PAM-модуль с TOTP, зависит от дистрибутива и выбранного провайдера.

Проверьте конфигурацию и примените её без потери доступа

Безопасное применение sshd_config

Выполняйте шаги из старой рабочей сессии. Новую тестовую сессию открывайте отдельно.

  1. 1
    Проверьте синтаксис до reload
    Выполните sudo sshd -t. При нестандартном пути к файлу используйте sudo sshd -t -f /путь/к/sshd_config. Успешная проверка обычно не выводит ничего и возвращает код 0. При ошибке не перезапускайте службу: исправьте указанную строку либо восстановите резервную копию.
  2. 2
    Посмотрите эффективную конфигурацию
    Выполните sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication|authenticationmethods|allowusers|allowgroups|denyusers|denygroups|allowtcpforwarding|allowagentforwarding|x11forwarding|permittunnel|gatewayports|logingracetime|maxauthtries|maxsessions|clientalive|channeltimeout'. Команда показывает выбранные эффективные значения после обработки конфигурации.
  3. 3
    Проверьте правила Match в контексте клиента
    Если используются Match User, Match Address или Match Host, добавьте контекст: sudo sshd -T -C user=admin,addr=192.0.2.10,host=client.example. Подставьте реальные имя пользователя, адрес и hostname. Для правил, зависящих от локального адреса или порта, в поддерживаемой версии могут требоваться также laddr и lport.
  4. 4
    Примените конфигурацию
    После успешного sshd -t выполните документированную для системы команду reload, например sudo systemctl reload sshd или sudo systemctl reload ssh. Reload предпочтительнее restart, когда он поддерживается: он обычно не обрывает действующие сессии. Если unit или reload отсутствуют, используйте документацию дистрибутива.
  5. 5
    Откройте новую проверочную сессию
    Не закрывая старую сессию, снова подключитесь командой с -i, IdentitiesOnly=yes и PasswordAuthentication=no. Проверьте вход, sudo, разрешённые сценарии SFTP или bastion, если они нужны. Дополнительно убедитесь, что root и парольный вход действительно отклоняются.
  6. 6
    Откатите изменение при проблеме
    Через сохранённую сессию или независимую консоль верните резервный файл либо удалите проблемный drop-in, затем выполните sshd -t и reload повторно. Не рассчитывайте на уже существующую SSH-сессию как на доказательство корректности нового входа: она может продолжать работать после изменения правил.
server-terminal
sudo sshd -t
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication|authenticationmethods|allowusers|allowgroups|denyusers|denygroups|allowtcpforwarding|allowagentforwarding|x11forwarding|permittunnel|gatewayports|logingracetime|maxauthtries|maxsessions|clientalive|channeltimeout'
sudo sshd -T -C user=admin,addr=192.0.2.10,host=client.example
sudo systemctl reload sshd

После reload посмотрите журнал службы и попытайтесь подключиться с ожидаемого адреса. В системах с systemd обычно помогает journalctl -u sshd или journalctl -u ssh; в Debian- и Ubuntu-подобных конфигурациях записи аутентификации нередко также попадают в /var/log/auth.log, в RHEL-подобных — в /var/log/secure. Это типичные пути, а не гарантия: конкретное журналирование определяет дистрибутив и его настройка.

Что не заменяет настройка SSH

  • Смена порта SSH может уменьшить шум массового сканирования и записи в журнале, но не защищает от целевой атаки и не заменяет ключи, обновления или ограничение источников. При смене порта обновите клиентские конфигурации и сетевые правила, сохранив аварийный путь.
  • Отключение root-входа не ограничивает пользователя, которому разрешён полный sudo, и не исправляет слишком широкие правила sudoers.
  • AllowUsers и AllowGroups не удаляют учётные записи, не отзывают их ключи автоматически и не заменяют firewall.
  • Запрет forwarding не изолирует shell-пользователя от сети и не является полноценным средством предотвращения туннелей.
  • Локальное удаление строки из authorized_keys прекращает доступ по этому ключу только на данном хосте. При множестве серверов, SSH-сертификатах или подозрении на компрометацию нужен управляемый отзыв и ротация; см. «Управление секретами сервера: хранение, выдача, ротация и отзыв доступов».

Проверьте хост-ключ сервера и сопровождение ключей

Клиентский файл known_hosts и проверка отпечатка ключа хоста защищают от подключения к неожиданному серверу; это другая задача, чем аутентификация пользователя по ключу. При первом подключении сверяйте отпечаток ключа хоста по доверенному каналу. Не удаляйте запись known_hosts при сообщении об изменении ключа без проверки причины: это может скрыть подмену узла.

Даже для одного сервера нужен как минимум инвентарь ключей: кому принадлежит ключ, для чего он используется и при каком событии его нужно отозвать. Периодически проверяйте актуальность записей и удаляйте ненужные ключи из authorized_keys. При масштабной выдаче доступов полезны централизованное управление ключами и сертификаты SSH, но построение SSH CA, массовая ротация и централизованный отзыв относятся к отдельной процедуре управления секретами.

Термины в статье

Allowlist — перечень разрешающих записей или правил: система допускает только те субъекты, объекты, действия или значения, которые им соответствуют.
Ed25519 — алгоритм цифровой подписи на эллиптической кривой edwards25519, использующий 32-байтный открытый ключ и 64-байтную подпись; он не предназначен для шифрования.
OpenSSH — свободный набор клиентских и серверных средств SSH для защищённого удалённого доступа, передачи файлов и туннелирования TCP-соединений.
PAM — модульная подсистема Unix-подобных ОС, через которую совместимые службы применяют правила аутентификации, проверки учётной записи, смены паролей и управления сеансами.
SSH-агент — фоновый процесс, хранящий закрытые SSH-ключи в памяти и выполняющий операции подписи по запросу клиента без повторного ввода ключевой фразы.
sshd_config — конфигурационный файл или набор настроек SSH-сервера OpenSSH, определяющий параметры прослушивания, аутентификации, доступа и криптографических алгоритмов.
Аутентификация по открытому ключу — способ входа в SSH, при котором сервер проверяет подпись клиента по заранее разрешённому открытому ключу, а не по паролю.
Закрытый ключ — секретная часть асимметричной ключевой пары для создания подписей, расшифрования данных или подтверждения владения ключом при аутентификации.
Ключ SSH — криптографический ключевой материал для протокола SSH, применяемый для подтверждения личности или проверки подлинности удалённого узла.
Многофакторная аутентификация — метод проверки личности, требующий подтверждений из двух или более независимых факторов: знания, владения или биометрии.
Открытый ключ — несекретный ключ асимметричной пары, используемый в зависимости от алгоритма для проверки подписей, шифрования, аутентификации или согласования общего секрета.
Парольная аутентификация — способ проверки личности, при котором пользователь подтверждает владение секретным паролем, передавая его или производное от него значение.
Парольная фраза — разновидность пароля из нескольких слов или длинной запоминаемой строки, используемая для аутентификации или защиты криптографических ключей.
Перенаправление агента SSH — механизм SSH, предоставляющий удалённому хосту доступ к локальному агенту для подписи операций без копирования закрытого ключа на этот хост.
Проброс портов SSH — передача TCP-подключений к заданному узлу и порту через зашифрованный SSH-сеанс в локальном, удалённом или динамическом режиме.
Тайм-аут неактивности — ограничение времени простоя сеанса, после которого система завершает или блокирует соединение при отсутствии заданной активности пользователя.
Учётная запись root — привилегированная локальная учётная запись Unix-подобочной ОС с идентификатором UID 0, обладающая практически неограниченными системными правами.
Файл authorized_keys — файл SSH на сервере со списком открытых ключей, которым разрешена аутентификация для конкретной учётной записи пользователя.

Вопросы по теме

Все вопросы и ответы

Почему SSH пишет Permission denied (publickey) после добавления ключа?

Зависит от настройки: не отключайте пароли, пока не найдёте причину. Проверьте путь к закрытому ключу, имя пользователя, содержимое authorized_keys, владельца и права домашнего каталога, ~/.ssh и authorized_keys. Также посмотрите журналы аутентификации. Для проверки подключайтесь в новой сессии с явно указанным ключом и IdentitiesOnly=yes.

Отключает ли PasswordAuthentication no вход через keyboard-interactive?

Нет, не обязательно. PasswordAuthentication no запрещает парольный метод SSH, но keyboard-interactive является отдельным методом и может использовать PAM для пароля или MFA. Если password-вход должен быть полностью исключён, отдельно проверьте значение KbdInteractiveAuthentication и эффективную конфигурацию через sshd -T.

Чем PermitRootLogin no отличается от prohibit-password?

PermitRootLogin no полностью запрещает аутентификацию учётной записью root всеми методами. PermitRootLogin prohibit-password запрещает root-вход по паролю и keyboard-interactive, но может оставить вход root по ключу или другому разрешённому непарольному методу. Для полного запрета прямого root-входа используйте no.

Защищает ли смена порта SSH от взлома?

Нет, смена порта не заменяет защиту SSH. Она может сократить шум массового сканирования и число записей в журнале, но не защищает от целевой атаки. Нужны ключевая аутентификация, ограничение доступа, обновления и сетевая политика. При смене порта заранее обновите настройки клиентов и firewall, сохранив аварийный способ доступа.

Защищает ли MaxAuthTries от перебора паролей?

Только частично. MaxAuthTries ограничивает число неудачных попыток в одном SSH-соединении, но не поток новых подключений с новыми попытками. Для реакции на повторяющиеся ошибки входа можно применять Fail2ban с осторожно подобранными порогами. Параметр также не следует уменьшать без проверки: SSH-агент с множеством ключей способен исчерпать лимит.

Могут ли AllowUsers заблокировать резервное копирование или SFTP?

Да. После добавления AllowUsers вход смогут выполнять только явно разрешённые учётные записи при соблюдении остальных правил. Служебный пользователь резервного копирования, автоматизации или SFTP может потерять доступ, если его не включить в allowlist. До применения проверьте все такие сценарии в новой сессии и не закрывайте текущую рабочую сессию.