Как Настроить и Защитить SSH-сервер (sshd) на Примерах

watch 48s
views 2

09:41, 25.05.2026

Содержание статьи
arrow

  • Как взаимодействуют файлы конфигурации
  • Типовые настройки для личного использования SSH
  • Общие настройки SSH для организаций
  • Настройка политики шифрования
  • Включение подробного журнала
  • Настройка пути для AuthorizedKeysFile
  • Контроль доступа root
  • Отображение баннера входа
  • Управление настройками переадресации портов
  • Использование аутентификации на основе сертификатов
  • Объяснение синтаксиса и структуры sshd_config

Secure Shell (SSH) является основой удаленного управления серверами. Его серверный компонент, sshd, предлагает широкие возможности настройки как для обычных пользователей, так и для корпоративных администраторов. В этом руководстве описано, как настроить и защитить sshd, а также приведены практические примеры, которые помогут вам понять и применить лучшие практики.

Как взаимодействуют файлы конфигурации

Основным файлом конфигурации для демона SSH является /etc/ssh/sshd_config. Этот файл определяет, как сервер ведет себя при приеме SSH-соединений.

В отличие от этого, настройки клиента хранятся в файле /etc/ssh/ssh_config или в пользовательском файле ~/.ssh/config. Однако именно в sshd_config администраторы контролируют методы аутентификации, правила доступа и поведение сеансов.

Когда демон SSH запускается или перезагружается, он считывает sshd_config сверху вниз. Если директива повторяется, обычно действует последнее действительное вхождение. После внесения изменений выполните:

sudo systemctl restart sshd

Или на некоторых системах:

sudo service ssh restart

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

sshd -t

Типовые настройки для личного использования SSH

Если вы управляете личным VPS или домашней лабораторией, вы можете повысить безопасность и удобство с помощью нескольких простых настроек:

Порт 2222 
PermitRootLogin no 
PasswordAuthentication no 
AllowUsers alice

Эти настройки изменяют стандартный порт SSH, отключают вход пользователя root, требуют аутентификации с помощью ключей и ограничивают доступ к определенным пользователям. Всегда создавайте резервную копию исходного файла перед внесением изменений.

Общие настройки SSH для организаций

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

Настройка политики шифрования

Установите надежные современные алгоритмы шифрования для защиты данных при передаче. Используйте директивы Ciphers, MACs и KexAlgorithms :

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com 
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com 
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp521

Эти настройки удаляют устаревшие алгоритмы и обеспечивают соблюдение лучших практик в области криптографии.

Включение подробного журнала

Для целей аудита и отладки увеличьте уровень детализации журнала:

LogLevel VERBOSE

Это предоставляет более подробную информацию об активности пользователей и попытках аутентификации, что полезно для мониторинга безопасности.

Настройка пути для AuthorizedKeysFile

Чтобы централизовать или настроить место, откуда считываются открытые ключи:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

В этом примере открытый ключ каждого пользователя хранится в общем каталоге, заменяя %u на имя пользователя.

Контроль доступа root

Вход root должен строго контролироваться или быть полностью отключен:

PermitRootLogin prohibit-password

Это позволяет вход root только через аутентификацию на основе ключей. Чтобы полностью отключить доступ root:

PermitRootLogin no

Отображение баннера входа

Чтобы соответствовать стандартам соответствия или отображать юридическое предупреждение, настройте баннер входа:

Banner /etc/issue.net

Заполните /etc/issue.net желаемым сообщением, например:

Несанкционированный доступ к этой системе запрещен. 
Вся активность отслеживается и регистрируется.

Управление настройками переадресации портов

Ограничьте или включите переадресацию портов в зависимости от внутренней политики:

AllowTcpForwarding no 
PermitTunnel no 
X11Forwarding no

Для пользователей, которым требуется безопасное туннелирование, эти параметры можно выборочно включить.

Использование аутентификации на основе сертификатов

Для сред, управляющих большим количеством пользователей, сертификаты SSH обеспечивают масштабируемый контроль доступа. Создайте ключ CA и подпишите открытые ключи пользователей:

ssh-keygen -s ca_key -I user_id user_key.pub
В файле sshd_config укажите доверенный CA:
TrustedUserCAKeys /etc/ssh/ca.pub

Это позволяет аутентифицировать любой ключ, подписанный указанным CA, что упрощает управление пользователями.

Объяснение синтаксиса и структуры sshd_config

Синтаксис sshd_config прост: одна директива на строку, за которой следуют её значения. Комментарии начинаются с #. 

# Это комментарий 
Порт 22 
PermitRootLogin no

Директивы нечувствительны к регистру, но для удобства чтения следует придерживаться общепринятого форматирования. Распространенные ошибки:

  • Пробелы в конце строки
  • Неправильные значения параметров
  • Повторение противоречивых директив

Чтобы применить изменения:

sudo systemctl reload sshd

Или воспользуйтесь sshd -t перед перезапуском, чтобы убедиться в правильности синтаксиса.

Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
MT5 KVM 4096 Windows

19.99

При оплате за год

-12.3%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 16384 Windows

237

При оплате за год

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 8192 Linux

26.35

При оплате за год

-9.8%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 1024 Linux

4.98

При оплате за год

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 16384
OS
CentOS
Software
Software
Keitaro

55.54

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.29

При оплате за год

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 16384 Linux

50.49

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 2048 Windows

10.23

При оплате за год

-10%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 32768 Linux

69.99

При оплате за год

-26.7%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 1024 Metered Linux

10

При оплате за год

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.