Настройка Ubuntu server. Часть 1 (Начало)
-
Оновлення системи. Перед будь-якими налаштуваннями важливо оновити індекс пакетів та самі пакети до найновіших версій:
sudo apt update && sudo apt upgrade -y -
Налаштування імені хоста (Hostname) Щоб сервер правильно ідентифікував себе в мережі, задайте йому унікальне ім'я (замініть myserver.domail.com на ваше ім'я):
Щоб зміни відобразилися в поточному терміналі, перезапустіть сесію або виконайте:sudo hostnamectl set-hostname myserver.domail.com
Також відредагуйте файл /etc/hosts, щоб прив'язати нове ім'я до локальної адреси:exec bash
Знайдіть рядок 127.0. і змініть старе ім'я на нове:sudo nano /etc/hosts
(Зберегти в Nano: Ctrl + O, потім Enter. Вийти: Ctrl + X)127.0.0.1 localhost 127.0.1.1 myserver.domain.com myserver - Налаштування локалей (Locales) та мови
Якщо під час встановлення було обрано англійську, але вам потрібна підтримка інших локалей (наприклад, української для коректного відображення дат чи символів):
Згенеруйте необхідну локаль:
Встановіть системну мову за замовчуванням (якщо хочете змінити інтерфейс на українську, або залиште en_US.UTF-8, якщо інтерфейс має бути англійським):sudo locale-gen uk_UA.UTF-8sudo update-locale LANG=uk_UA.UTF-8 -
Налаштування часового поясу (Timezone) Перевірте поточний час за допомогою команди timedatectl. Для встановлення вашого часового поясу (наприклад, Київ) виконайте:
Синхронізація часу (NTP) в Ubuntu Server зазвичай увімкнена за замовчуванням.sudo timedatectl set-timezone Europe/Kyiv -
Безпека: Створення нового користувача та налаштування SSH Вкрай не рекомендується працювати під обліковим записом root через SSH.
- Створіть нового користувача (якщо не створили під час інсталяції):
sudo adduser username - Додайте його до групи sudo для адміністративних прав:
sudo usermod -aG sudo username - Налаштуйте брандмауер (UFW). Припустимо, ви обрали порт 2222 (переконайтеся, що він не зайнятий іншими службами):
sudo ufw allow 2222/tcp - Знайдіть рядок #Port 22.
- Розкоментуйте його (видаліть символ #) та змініть номер порту:
Port 2222 - Перезавантажте
sudo systemctl restart ssh
- Створіть нового користувача (якщо не створили під час інсталяції):
-
Генерація та копіювання SSH-ключа. Якщо у вас вже є згенерований SSH-ключ на вашому домашньому комп'ютері, пропустіть перший пункт.
-
На своєму домашньому комп'ютері (у терміналі Linux/macOS або в командному рядку Windows) згенеруйте пару ключів (сучасний та безпечний алгоритм ed25519):
(Натискайте Enter, щоб зберегти за замовчуванням. Також рекомендується задати пароль passphrase для додаткового захисту самого ключа).ssh-keygen -t ed25519 -C "my-server-key" -
Скопіюйте ключ на сервер. Копіюємо за допомогою команди ssh-copy-id, вказавши ваш порт та ім'я звичайного користувача (не root!), якого ми створили на самому початку (наприклад, username): '''bash ssh-copy-id -p 2222 username@myserver.domail.com ''' Введіть пароль користувача. Ключ буде додано у файл ~/.ssh/authorized_keys на сервері.
-
-
Перевірка входу за ключем Перед тим як щось забороняти, перевірте, що вхід за ключем працює. Відкрийте нове вікно терміналу на комп'ютері та спробуйте підключитися:
Якщо система впустила вас без запиту пароля користувача (або запитала лише пароль від самого SSH-ключа, якщо ви його встановлювали) — все налаштовано правильно.ssh -p 2222 username@myserver.domail.com -
Заборона входу для root та вимкнення паролів Тепер, коли звичайний користувач може безпечно заходити за ключем, закриємо дірки в безпеці.
- На сервері відкрийте конфігураційний файл SSH:
sudo nano /etc/ssh/sshd_config - Знайдіть та змініть такі параметри (якщо перед ними стоїть символ #, обов'язково видаліть його):
PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes - Збережіть файл (Ctrl + O, Enter) та вийдіть (Ctrl + X).
- На сервері відкрийте конфігураційний файл SSH:
-
Застосування змін та фінальна перевірка
- Перезапустіть службу SSH на сервері:
sudo systemctl restart ssh - Знову не закриваючи поточне вікно, відкрийте ще одне нове вікно на комп'ютері та перевірте:
- Спроба зайти під root: ssh -p 2222 root@myserver.domail.com — має видати помилку Permission denied (publickey).
- Спроба зайти під вашим користувачем: ssh -p 2222 username@myserver.domail.com — має успішно впустити за ключем. Тепер ваш сервер надійно захищений від brute-force атак на паролі.
- Перезапустіть службу SSH на сервері:
-
Перезапустити брандмауер для впевненості:
sudo ufw reload