Як налаштувати та захистити сервер SSH (sshd) на практиці

watch 48s
views 2

09:23, 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

-15.4%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
100 Mbps
DDoS Protected SSD-wKVM 16384 Windows

130

При оплаті за рік

-15%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
80 Mbps
DDoS Protected SSD-wKVM 8192 Windows

101

При оплаті за рік

-29.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
2 TB
KVM-SSD 2048 Metered Linux

17

При оплаті за рік

-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
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 2048 Linux

8.3

При оплаті за рік

-16.2%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
60 Mbps
DDoS Protected SSD-KVM 4096 Linux

67

При оплаті за рік

-10%

CPU
CPU
3 Epyc Cores
RAM
RAM
2 GB
Space
Space
25 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 2048 Windows

9.9

При оплаті за рік

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40

При оплаті за рік

-9.6%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
12 TB
wKVM-SSD 32768 Metered Windows

156

При оплаті за рік

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 8192
OS
CentOS
Software
Software
Keitaro

28.99

При оплаті за рік

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.