1. Оновлення системи. Перед будь-якими налаштуваннями важливо оновити індекс пакетів та самі пакети до найновіших версій:

    sudo apt update && sudo apt upgrade -y

  2. Налаштування імені хоста (Hostname) Щоб сервер правильно ідентифікував себе в мережі, задайте йому унікальне ім'я (замініть myserver.domail.com на ваше ім'я):

    sudo hostnamectl set-hostname myserver.domail.com
    Щоб зміни відобразилися в поточному терміналі, перезапустіть сесію або виконайте:
    exec bash
    Також відредагуйте файл /etc/hosts, щоб прив'язати нове ім'я до локальної адреси:
    sudo nano /etc/hosts
    Знайдіть рядок 127.0. і змініть старе ім'я на нове:
    127.0.0.1 localhost
    127.0.1.1 myserver.domain.com myserver
    (Зберегти в Nano: Ctrl + O, потім Enter. Вийти: Ctrl + X)

  3. Налаштування локалей (Locales) та мови Якщо під час встановлення було обрано англійську, але вам потрібна підтримка інших локалей (наприклад, української для коректного відображення дат чи символів): Згенеруйте необхідну локаль:
    sudo locale-gen uk_UA.UTF-8
    Встановіть системну мову за замовчуванням (якщо хочете змінити інтерфейс на українську, або залиште en_US.UTF-8, якщо інтерфейс має бути англійським):
    sudo update-locale LANG=uk_UA.UTF-8
  4. Налаштування часового поясу (Timezone) Перевірте поточний час за допомогою команди timedatectl. Для встановлення вашого часового поясу (наприклад, Київ) виконайте:

    sudo timedatectl set-timezone Europe/Kyiv
    Синхронізація часу (NTP) в Ubuntu Server зазвичай увімкнена за замовчуванням.

  5. Безпека: Створення нового користувача та налаштування 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
  6. Генерація та копіювання SSH-ключа. Якщо у вас вже є згенерований SSH-ключ на вашому домашньому комп'ютері, пропустіть перший пункт.

    • На своєму домашньому комп'ютері (у терміналі Linux/macOS або в командному рядку Windows) згенеруйте пару ключів (сучасний та безпечний алгоритм ed25519):

      ssh-keygen -t ed25519 -C "my-server-key"
      (Натискайте Enter, щоб зберегти за замовчуванням. Також рекомендується задати пароль passphrase для додаткового захисту самого ключа).

    • Скопіюйте ключ на сервер. Копіюємо за допомогою команди ssh-copy-id, вказавши ваш порт та ім'я звичайного користувача (не root!), якого ми створили на самому початку (наприклад, username): '''bash ssh-copy-id -p 2222 username@myserver.domail.com ''' Введіть пароль користувача. Ключ буде додано у файл ~/.ssh/authorized_keys на сервері.

  7. Перевірка входу за ключем Перед тим як щось забороняти, перевірте, що вхід за ключем працює. Відкрийте нове вікно терміналу на комп'ютері та спробуйте підключитися:

    ssh -p 2222 username@myserver.domail.com
    Якщо система впустила вас без запиту пароля користувача (або запитала лише пароль від самого SSH-ключа, якщо ви його встановлювали) — все налаштовано правильно.

  8. Заборона входу для root та вимкнення паролів Тепер, коли звичайний користувач може безпечно заходити за ключем, закриємо дірки в безпеці.

    • На сервері відкрийте конфігураційний файл SSH:
      sudo nano /etc/ssh/sshd_config
    • Знайдіть та змініть такі параметри (якщо перед ними стоїть символ #, обов'язково видаліть його):
      PermitRootLogin no
      PasswordAuthentication no
      PubkeyAuthentication yes
    • Збережіть файл (Ctrl + O, Enter) та вийдіть (Ctrl + X).
  9. Застосування змін та фінальна перевірка

    • Перезапустіть службу 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 атак на паролі.
  10. Перезапустити брандмауер для впевненості:

    sudo ufw reload

Views: 4