Коротка відповідь
Як захистити SSH на новому VPS?
Щоб захистити SSH на новому VPS, створіть користувача sudo, встановіть свій публічний ключ, потім задайте PasswordAuthentication no, PermitRootLogin no і AllowUsers у файлі-доповненні в /etc/ssh/sshd_config.d/, перевірте його командою sshd -t і перезавантажте сервіс. Gloamport Dusk, 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic, коштує $5.25 на місяць при 12-місячному терміні.
Які параметри sshd_config найважливіші для нового VPS?
| Варіант | Значення | За замовчуванням у посібнику sshd_config |
|---|---|---|
PasswordAuthentication | no | yes |
KbdInteractiveAuthentication | no | yes (файл Debian задає no) |
PermitRootLogin | no | prohibit-password |
PubkeyAuthentication | yes | yes |
AllowUsers | ваш користувач sudo | усі користувачі |
MaxAuthTries | 3 | 6 |
LoginGraceTime | 30 | 120 секунд |
Значення за замовчуванням, як зазначено в sshd_config(5), перевірено 2026-11-10. Значення в середньому стовпці — вибір цього посібника.
Чому варто спершу захистити SSH?
SSH — єдина служба, яку кожен VPS відкриває з першої хвилини, тож це перші двері, які треба замкнути. Перебирання паролів на порту 22 починається, щойно адреса стає активною, а вхід лише за ключем знімає увесь цей клас атак.
Root over SSH. Paste a public key at checkout and password login stays switched off; leave it empty and the team sets a temporary root password, shown in your dashboard, that you change at first login. Якщо ви вставили ключ під час оформлення, вхід за паролем уже вимкнено, і цей посібник додає решту обмежень. Якщо ви отримали тимчасовий пароль root, змініть його при першому вході командою passwd, перш ніж робити будь-що інше. За опитуванням Gloamport серед 10 листопада 2026 р., 6 хостів приймають Monero і не вимагають електронної пошти під час реєстрації, тож на таких серверах захищають машину лише SSH-ключ і номер облікового запису.
Як захистити SSH на новому VPS крок за кроком?
Виконуйте їх у такому порядку та тримайте першу сесію відкритою до кінця.
Створіть звичайного користувача
Виконайте
adduserі додайте користувача до групиsudo, щоб не працювати від root.Встановіть свій публічний ключ для цього користувача
Скопіюйте ваш авторизований ключ новому користувачеві або виконайте
ssh-copy-id -iзі свого комп'ютера. Перевірте вхід в другому терміналі.Напишіть файл-доповнення
Створіть
/etc/ssh/sshd_config.d/00-hardening.confз параметрами з таблиці. Debian включає цю теку на початку sshd_config, а перше значення параметра має перевагу, тож ім'я файлу має сортуватися раніше.Перевірте конфігурацію
Виконайте
sshd -t. Вона перевіряє файл конфігурації та ключі без перезапуску служби. Виконайтеsshd -T, щоб вивести чинні значення.Перезавантажте службу
Перезапустіть
sshі відкрийте нову сесію під новим користувачем, перш ніж закрити стару.Переконайтеся, що root і паролі відхиляються
Спробуйте увійти як root і з паролем з іншого терміналу. Обидві спроби мають не вдатися.
Як створити користувача sudo і дати йому мій ключ?
Створіть користувача, додайте його до групи sudo і скопіюйте авторизований ключ облікового запису root цьому користувачеві. Використайте свій ключ з Як згенерувати SSH-ключ для мого VPS?, якщо ще його не створили. Замість admin вкажіть ім'я користувача, яке хочете.
adduser admin
usermod -aG sudo admin
mkdir -p /home/admin/.ssh
cp /root/.ssh/authorized_keys /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keysЩо має бути у файлі-доповненні sshd_config?
Розмістіть параметри в одному доповненні, щоб оновлення пакета ніколи їх не перезаписало. Посібник sshd_config стверджує, що для більшості ключових слів використовується перше отримане значення, і що файл Debian включає /etc/ssh/sshd_config.d/*.conf на початку, тож префікс 00- робить ваш файл пріоритетним над файлами, як-от доповнення образу хмарного провайдера.
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers admin
MaxAuthTries 3
LoginGraceTime 30sshd -t
sshd -T | grep -E "passwordauthentication|permitrootlogin|allowusers"
systemctl restart sshЧи змінювати порт SSH або додавати брандмауер?
Інший порт зменшує шум у логах, але не додає реальної безпеки, тож вважайте це необов'язковим. Посібник дозволяє задати його через Port, і можна мати кілька рядків Port. Якщо ви змінюєте порт, відкрийте новий порт у брандмауері перед перезапуском ssh. Повна віртуалізація KVM: власне ядро, власні правила брандмауера і власне шифрування диска, якщо ви його налаштуєте, тож ви використовуєте той брандмауер, який вам підходить.
Коли SSH налаштовано, наступні рівні — приватний тунель (Як налаштувати WireGuard на VPS?) і зашифрований том даних (Чи можна зашифрувати диск VPS за допомогою LUKS?). Dusk з 2 GB RAM коштує $5.25 на місяць при 12-місячному терміні; дивіться сторінку цін.
Підсумок
- Працюйте як користувач sudo, а не як root.
- Задайте
PasswordAuthentication noіKbdInteractiveAuthentication no. - Задайте
PermitRootLogin no, щойно користувач sudo запрацює. - Використайте
AllowUsers, щоб назвати, хто може входити. - Покладіть параметри в доповнення, ім'я якого сортується першим, наприклад
00-hardening.conf. - Запускайте
sshd -tперед кожним перезапуском і тримайте другу сесію відкритою. - Dusk коштує $5.25 на місяць при 12-місячному терміні.
Захист SSH на VPS: поширені питання
Що означає PermitRootLogin prohibit-password?
Це дозволяє root входити за ключем, але не за паролем. Посібник називає це значенням за замовчуванням, а no іде на крок далі.
Чому моя зміна в sshd_config не працює?
Перше значення параметра має перевагу, а Debian спершу підключає теку sshd_config.d. Попереднє доповнення може задавати цей параметр, тож назвіть ваш файл 00-hardening.conf і перевірте командою sshd -T.
Як перевірити конфігурацію, не зламавши SSH?
Виконайте sshd -t, яка перевіряє лише файл конфігурації та ключі. Тримайте другу сесію відкритою під час перезапуску.
Чи треба вимикати вхід за паролем, якщо я вставив ключ під час оформлення?
У Gloamport вставлений ключ уже вимикає вхід за паролем. Параметри в доповненні зберігають це після оновлень.
Що робить MaxAuthTries?
Вона обмежує кількість спроб автентифікації на одне з'єднання. Посібник дає значення за замовчуванням 6, а цей посібник задає 3.
Джерела (3)
- Сторінка посібника sshd_config(5) — Debian (checked 2026-11-10)
- Сторінка посібника sshd(8) (-t і -T) — Debian (checked 2026-11-10)
- Сторінка посібника ssh-copy-id(1) — Debian (checked 2026-11-10)