Як увімкнути рут-логін через SSH в Ubuntu
За замовчуванням Ubuntu вимикає вхід в систему від імені користувача root через SSH з міркувань безпеки. Це обмеження допомагає захистити сервери від несанкціонованого доступу, оскільки обліковий запис root має повний контроль над системою. Однак, в певних ситуаціях, таких як усунення несправностей або виконання адміністративних завдань, вам може знадобитися увімкнути вхід в систему від імені користувача root через SSH. У цьому посібнику ми розглянемо процес увімкнення входу в систему від імені користувача root через SSH в Ubuntu, наголосивши на деяких важливих аспектах безпеки.
Важливі міркування щодо безпеки
Перш ніж увімкнути вхід для користувача root через SSH, пам’ятайте, що це може піддати вашу систему значним ризикам безпеки. Ось кілька запобіжних заходів, яких слід вжити:
1️⃣ Використовуйте надійний пароль 🔑
Переконайтеся, що ваш кореневий пароль складний, включає великі та малі літери, цифри та спеціальні символи. Уникайте використання слів або шаблонів, які легко вгадуються. Подумайте про використання менеджера паролів для створення та зберігання надійного пароля.
2️⃣ Увімкніть брандмауер 🔥
Налаштуйте брандмауер, такий як UFW (Uncomplicated Firewall) або iptables, щоб обмежити доступ до критичних портів. Обмежте доступ до SSH лише довіреними IP-адресами та заблокуйте непотрібні сервіси, щоб зменшити потенційні вектори атак. Регулярно оновлюйте правила брандмауера відповідно до потреб безпеки.
3️⃣ Використовуйте ключі SSH для автентифікації 🛡️
Замість того, щоб покладатися на паролі, використовуйте аутентифікацію за допомогою ключів SSH, яка забезпечує додатковий рівень безпеки. Згенеруйте пару ключів за допомогою ssh-keygen
, надійно зберігайте приватний ключ і додавайте на сервер лише публічний ключ. Вимкніть автентифікацію за допомогою пароля, щоб запобігти атакам грубого підбору.
4️⃣ Змініть порт SSH за замовчуванням 🔄
За замовчуванням SSH працює на порту 22, що робить його поширеною мішенню для автоматизованих атак. Змініть порт на нестандартний (наприклад, 2222 або 5822) у файлі конфігурації SSH(/etc/ssh/sshd_config
). Переконайтеся, що новий порт відкритий у налаштуваннях вашого брандмауера.
5️⃣ Вимкніть Root-логін після налаштування 🚫
Після завершення початкового налаштування та адміністративних завдань, вимкніть прямий вхід в систему від імені користувача root, щоб мінімізувати ризики безпеки. Замість цього створіть окремого користувача з правами sudo. Змініть /etc/ssh/sshd_config і встановіть PermitRootLogin на “ні”, щоб запобігти спробам несанкціонованого доступу.
6️⃣ Увімкніть Fail2Ban для запобігання вторгненням 🔍
Встановіть Fail2Ban для моніторингу логів SSH та автоматичного блокування IP-адрес після декількох невдалих спроб входу. Це допомагає захиститися від атак грубої сили та несанкціонованого доступу. Налаштуйте правила Fail2Ban для кращого захисту.
7️⃣ Оновлення системи ⚙️
Регулярно оновлюйте операційну систему, встановлене програмне забезпечення та патчі безпеки за допомогою apt update && apt upgrade (для Debian/Ubuntu) або yum update (для CentOS/RHEL). Застаріле програмне забезпечення може містити вразливості, якими користуються зловмисники.
8️⃣ Впровадьте двофакторну автентифікацію (2FA) 🏆
Для додаткового рівня безпеки увімкніть 2FA для доступу по SSH за допомогою таких інструментів, як Google Authenticator або Duo Security. Це гарантує, що навіть якщо облікові дані скомпрометовані, несанкціонований доступ все одно буде заблоковано без другого фактора автентифікації.
Впроваджуючи ці заходи, ви значно підвищуєте безпеку свого VPS, захищаючи його від атак грубої сили, несанкціонованих входів і потенційних вразливостей. 🚀
Необхідні умови
- Обліковий запис користувача з правами sudo.
- Доступ по SSH до вашого сервера Ubuntu.
Крок 1: Увімкнення пароля root-користувача
Якщо ви ще не встановили пароль для користувача root, вам потрібно це зробити. За замовчуванням, Ubuntu вимикає вхід у систему від імені користувача root, не встановлюючи пароль для цього облікового запису. Щоб встановити або змінити пароль користувача root, виконайте наступну команду:
sudo passwd root
Вам буде запропоновано ввести новий пароль для користувача root. Переконайтеся, що ви вибрали надійний пароль. Після підтвердження нового пароля обліковий запис root буде увімкнено.
Крок 2: Редагування файлу конфігурації SSH
Щоб увімкнути вхід для користувача root через SSH, вам потрібно змінити файл конфігурації демона SSH, sshd_config.
- Відкрийте файл конфігурації SSH за допомогою вашого улюбленого текстового редактора. Наприклад:
sudo nano /etc/ssh/sshd_config
- Знайдіть у файлі конфігурації наступний рядок:
PermitRootLogin prohibit-password
Цей рядок означає, що вхід для користувача root заборонено для автентифікації паролем, але може бути дозволено за допомогою SSH-ключів.
- Змініть цей рядок на:
PermitRootLogin yes
Ця зміна дозволить користувачеві root увійти до системи за допомогою пароля.
- Збережіть зміни і вийдіть з редактора. Якщо ви використовуєте nano, ви можете зберегти зміни, натиснувши CTRL O, потім натиснути Enter і вийти, натиснувши CTRL X.
Крок 3: Перезапуск служби SSH
Щоб зміни набули чинності, потрібно перезапустити службу SSH:
sudo systemctl restart ssh
Як варіант, можна скористатися:
sudo service ssh restart
Ця команда застосує нові налаштування і увімкне вхід для користувача root по SSH.
Крок 4: Перевірка входу в систему по SSH з правами суперкористувача
Тепер, коли ви увімкнули вхід від імені користувача root, настав час його протестувати:
- Відкрийте SSH-клієнт або термінал.
- Підключіться до сервера, використовуючи ім’я користувача root:
ssh root@ваш_сервер_ip
- Введіть пароль root, який ви встановили раніше.
Якщо все налаштовано правильно, ви зможете увійти від імені користувача root.
Крок 5: Відновлення змін після використання (рекомендовано)
З міркувань безпеки краще вимкнути вхід від імені користувача root по SSH після того, як ви виконали необхідні завдання. Для цього виконайте такі дії:
- Знову відкрийте файл конфігурації SSH:
sudo nano /etc/ssh/sshd_config
- Змініть параметр PermitRootLogin назад на на:
PermitRootLogin заборонити-пароль
- Перезапустіть службу SSH:
sudo systemctl restart ssh
Це знову вимкне вхід від імені користувача root, дозволивши доступ лише через облікові записи користувачів з привілеями sudo.