Як встановити та налаштувати SSH
Встановлення та захист SSH на VPS AlexHost: налаштування нульової довіри у 2025 році
SSH = ваші єдині двері до сервера. Неправильно налаштований = зламаний за <5 хв. VPS AlexHost з NVMe і захистом від DDoS дає вам root-доступ, порт 1 Гбіт/с – ідеальний для захищеного SSH. У цій статті ми розповімо вам, як встановити і налаштувати SSH в Linux, охопивши основи, параметри конфігурації і рекомендації з безпеки.
Що таке SSH?
SSH розшифровується як Secure Shell і дозволяє користувачам безпечно підключатися до віддаленої системи через інтерфейс командного рядка. Протокол шифрує дані між клієнтом і сервером, що робить його безпечним методом зв’язку, особливо для доступу до серверів через незахищену мережу, таку як Інтернет. За замовчуванням SSH працює через порт 22 і може використовуватися для
- Віддаленого входу до серверів
- Безпечної передачі файлів (за допомогою SCP або SFTP)
- Віддаленого виконання команд
- Переадресації та тунелювання портів
Крок 1: Встановлення SSH
Більшість дистрибутивів Linux постачаються з попередньо встановленим SSH, але якщо його не встановлено, ви можете легко встановити його за допомогою менеджера пакетів для вашого дистрибутива
Для Ubuntu/Debian:
Для CentOS/RHEL:
Для Fedora:
Для Arch Linux:
Після встановлення у вас буде встановлено сервер і клієнт OpenSSH, що дозволить вам запускати SSH-сервер і підключатися до інших SSH-серверів
Крок 2: Запуск і включення служби SSH
Після встановлення вам потрібно запустити службу SSH (також відому як sshd – демон SSH) і дозволити їй запускатися при запуску системи
Запуск служби SSH:
Увімкнення запуску SSH при завантаженні:
Ви можете перевірити правильність роботи SSH, ввівши
Якщо служба працює, ви побачите активний статус, який вказує на те, що SSH готовий приймати з’єднання
Крок 3: Базове налаштування SSH
Поведінка SSH контролюється конфігураційним файлом, розташованим за адресою
Ви можете редагувати цей файл для зміни налаштувань SSH, наприклад, змінити порт за замовчуванням, вимкнути логін root або налаштувати автентифікацію на основі ключів. Для редагування файлу використовуйте текстовий редактор, наприклад, nano або vim
Деякі типові зміни конфігурації включають
1. Зміна порту SSH за замовчуванням
З міркувань безпеки бажано змінити порт SSH за замовчуванням з 22 на якийсь інший. Це допоможе знизити ризик автоматизованих атак, спрямованих на порт SSH за замовчуванням. Знайдіть наступний рядок у файлі конфігурації
Закоментуйте його і змініть номер порту
Після збереження файлу перезапустіть службу SSH, щоб застосувати зміни
Не забудьте оновити правила брандмауера, щоб дозволити з’єднання на новому порту
2. Вимкнення входу від імені користувача root
Дозвіл на вхід від імені користувача root через SSH є ризиком для безпеки. Щоб запобігти цьому, знайдіть наступний рядок у файлі конфігурації
Змініть його на
Це заборонить прямий доступ root через SSH. Користувачі все одно зможуть увійти під звичайним обліковим записом, а потім переключитися на root за допомогою sudo або su
3. Увімкнення автентифікації на основі ключів
Автентифікація на основі ключів SSH є більш безпечним методом, ніж використання паролів. Він передбачає створення пари ключів SSH (відкритий і закритий ключі) і використання закритого ключа для автентифікації. Щоб увімкнути автентифікацію на основі ключів, знайдіть наступні рядки і переконайтеся, що для них встановлено значення yes
Це вимкне вхід на основі пароля і дозволить доступ до SSH лише за допомогою автентифікації на основі ключа
Крок 4: Генерація ключів SSH (автентифікація на основі ключів)
Пари ключів SSH забезпечують безпечний спосіб входу без пароля. Ось як згенерувати і налаштувати ключі SSH
Крок 1: Створення пари ключів SSH
На вашій локальній машині виконайте наступну команду, щоб згенерувати пару ключів
Вам буде запропоновано ввести ім’я файлу для збереження ключа (або натиснути Enter, щоб використовувати місце за замовчуванням) і необов’язкову парольну фразу для додаткової безпеки. В результаті буде створено два файли
- ~/.ssh/id_rsa: ваш приватний ключ (зберігайте його в безпеці і не надавайте нікому).
- ~/.ssh/id_rsa.pub: Ваш публічний ключ (ним можна ділитися і додавати на віддалені сервери).
Крок 2: Скопіюйте публічний ключ на сервер
Щоб використовувати ключ для входу по SSH, скопіюйте відкритий ключ на віддалений сервер, до якого ви хочете отримати доступ. Ви можете зробити це за допомогою команди ssh-copy-id
Замініть username на ім’я користувача вашого віддаленого сервера, а remote_host на IP-адресу або ім’я хоста сервера. Це скопіює ваш відкритий ключ на сервер і додасть його до файлу ~/.ssh/authorized_keys, що дозволить вам увійти без пароля
Крок 3: Вхід за допомогою ключа SSH
Тепер ви можете увійти на віддалений сервер за допомогою вашого приватного ключа
Якщо ви встановили користувацький порт, вкажіть його за допомогою опції -p
Крок 5: Захист конфігурації SSH
Після налаштування SSH важливо дотримуватися найкращих практик безпеки, щоб переконатися, що ваш сервер захищено від несанкціонованого доступу
1. Використовуйте надійні паролі (якщо ви використовуєте парольну автентифікацію)
Якщо ви не використовуєте автентифікацію на основі ключів, переконайтеся, що всі облікові записи користувачів використовують надійні, складні паролі
2. Використовуйте брандмауер
Переконайтеся, що брандмауер вашого сервера дозволяє трафік тільки на порт SSH, який ви використовуєте. Наприклад, якщо ви змінили SSH на порт 2222, дозвольте трафік на цей порт за допомогою ufw (на Ubuntu/Debian) або firewalld (на CentOS/RHEL)
3. Обмеження доступу по SSH
Обмежте доступ до SSH певними IP-адресами або діапазонами, налаштувавши брандмауер або використовуючи /etc/hosts.allow і /etc/hosts.deny
Крок 6: Тестування та усунення несправностей SSH
Після налаштування SSH важливо протестувати ваші налаштування. Спробуйте увійти за допомогою SSH, щоб переконатися, що все працює правильно
Загальні поради щодо усунення несправностей SSH:
- Перевірте налаштування брандмауера: Переконайтеся, що брандмауер не блокує порт SSH.
- Перевірте стан служби SSH: Переконайтеся, що служба SSH запущена за допомогою systemctl status ssh.
- Перевірка конфігурації: Перевірте файл /etc/ssh/sshd_config на наявність помилок у конфігурації.
- Для налагодження використовуйте докладний режим: Якщо виникли проблеми, використовуйте опцію -v при підключенні, щоб побачити докладний вивід:
Висновок
Встановлення та налаштування SSH є фундаментальною навичкою для будь-якого адміністратора Linux або користувача, якому потрібно безпечно керувати віддаленими системами. Дотримуючись цього посібника, ви зможете встановити SSH, налаштувати його для безпечного доступу і застосувати найкращі практики для захисту вашого сервера від несанкціонованого доступу. Після налаштування SSH стає потужним інструментом для віддаленого керування, автоматизації та безпечного зв’язку між системами.


