SSH: що це таке, навіщо використовується та як налаштувати на Linux

12/01/2026
| Instruction | iron_will | 0 | 160 | |
Ubuntu Security

1. Що таке SSH

SSH (Secure Shell) — це криптографічний мережевий протокол, який використовується для безпечного віддаленого доступу до операційних систем, серверів і мережевих пристроїв через незахищені мережі.

Основні функції SSH:

  • шифрування трафіку між клієнтом і сервером;

  • захист облікових даних;

  • автентифікація користувачів і серверів;

  • цілісність даних.

Стандартний порт SSH:

TCP 22

2. Навіщо використовується SSH

2.1 Віддалене адміністрування

  • керування Linux/Unix-серверами без GUI;

  • виконання команд у shell;

  • робота з сервісами та логами.

2.2 Безпечна передача файлів

SSH є базою для:

  • SCP — копіювання файлів;

  • SFTP — повноцінний файловий доступ.

2.3 Тунелювання та проксіювання

  • захищений доступ до внутрішніх сервісів;

  • порт-форвардинг (локальний, віддалений, dynamic);

  • bastion / jump host архітектура.

2.4 Автоматизація та DevOps

  • CI/CD деплой;

  • Ansible, Git, Docker, Kubernetes;

  • доступ без пароля через ключі.

3. Принцип роботи SSH (коротко)

  1. Клієнт ініціює з’єднання з сервером.

  2. Сервер надсилає свій публічний ключ.

  3. Відбувається узгодження алгоритмів шифрування.

  4. Користувач автентифікується (пароль або ключ).

  5. Створюється зашифрований канал зв’язку.

4. Генерація SSH-ключів у Linux

4.1 Рекомендовані алгоритми

АлгоритмКоментар
ed25519Сучасний, швидкий, безпечний
RSA 4096Для сумісності зі старими системами

4.2 Генерація ключа ed25519

ssh-keygen -t ed25519 -C "user@hostname"

Коментарі:

  • ssh-keygen — утиліта для генерації SSH-ключів

  • -t ed25519 — тип криптографічного алгоритму

  • -C "user@hostname" — коментар для ідентифікації ключа

Під час виконання:

  • система запропонує шлях збереження ключа;

  • рекомендовано встановити passphrase.

4.3 Розташування ключів

~/.ssh/id_ed25519 # приватний ключ (секретний) ~/.ssh/id_ed25519.pub # публічний ключ (копіюється на сервер)

 Приватний ключ не можна передавати та зберігати на сервері.

5. Додавання ключа на сервер

5.1 Автоматичне копіювання ключа

ssh-copy-id user@server_ip

Коментарі:

  • копіює публічний ключ у ~/.ssh/authorized_keys;

  • створює каталог .ssh, якщо його не існує;

  • виставляє коректні права доступу.

5.2 Ручне додавання ключа

cat ~/.ssh/id_ed25519.pub | ssh user@server_ip \ "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Коментарі:

  • cat id_ed25519.pub — читає публічний ключ;

  • ssh user@server_ip — підключення до сервера;

  • authorized_keys — файл дозволених ключів.

6. Підключення до сервера

6.1 Стандартне підключення

ssh user@server_ip

6.2 Підключення з явним ключем

ssh -i ~/.ssh/id_ed25519 user@server_ip

Коментар:

  • -i — вказує конкретний файл приватного ключа.

7. Налаштування SSH-сервера (sshd)

Основний конфігураційний файл:

/etc/ssh/sshd_config

7.1 Рекомендована безпечна конфігурація

Port 22 # Порт SSH Protocol 2 # Використання тільки SSHv2 PermitRootLogin no # Заборона входу під root PasswordAuthentication no # Вимкнення входу по паролю PubkeyAuthentication yes # Дозвіл входу по ключу PermitEmptyPasswords no # Заборона порожніх паролів AllowUsers user # Дозволені користувачі

7.2 Перезапуск сервісу

sudo systemctl restart ssh

Коментар:

  • застосовує зміни конфігурації;

  • без перезапуску налаштування не активні.

8. Клієнтська конфігурація SSH

Файл:

~/.ssh/config

8.1 Приклад конфігурації

Host prod-server # Логічне ім’я сервера HostName 192.168.1.10 # IP або DNS User deploy # Користувач IdentityFile ~/.ssh/id_ed25519 # Ключ Port 22 # Порт

Підключення:

ssh prod-server

9. SSH Port Forwarding

9.1 Локальний порт-форвардинг

ssh -L 3306:localhost:3306 user@server_ip

Коментарі:

  • -L — локальний тунель;

  • 3306 — локальний порт;

  • дозволяє безпечно підключитись до БД.

10. Типові помилки безпеки

  • використання PasswordAuthentication yes;

  • дозвіл PermitRootLogin;

  • відсутність passphrase;

  • відкритий порт 22 без firewall / fail2ban.



Related posts

Nmap: що це таке та як з ним працювати

Вступ У сучасному світі інформаційної безпеки та адміністрування мереж важливо мати інструменти, які дозволяють швидко отримувати інформацію про інфраструктуру, виявляти відкриті порти, служби та потенційні вразливості. Одним із найпотужніших і найп...

Security iron_will 19/03/2026

Корисні команди Linux (Ubuntu): практичний довідник для системних адміністраторів та DevOps

Вступ Linux є основою більшості сучасної серверної інфраструктури. Веб-сервери, системи контейнеризації, хмарні платформи, CI/CD-пайплайни та мережеві сервіси у переважній більшості випадків працюють саме на Linux. Серед різних дистрибутивів особлив...

CheatSheets iron_will 13/03/2026

Systemd: розширені сценарії керування сервісами

Systemd давно перестав бути просто менеджером ініціалізації. Сьогодні це повноцінна екосистема для оркестрації процесів, управління ресурсами, налагодження залежностей і моніторингу сервісів у реальному часі. Незважаючи на це, більшість адміністратор...

DevOps iron_will 03/03/2026

Глибока оптимізація Linux-серверів під production-навантаження

Запустити сервер в Linux - справа нескладна. Але налаштувати його так, щоб він витримував тисячі одночасних з'єднань, мінімізував латентність і не «падав» під піковим навантаженням - це вже інженерна задача, яка потребує системного підходу. Дистрибут...

DevOps iron_will 03/03/2026

Fail2Ban: основи безпеки та практичні способи захисту серверів

Вступ Забезпечення базового рівня безпеки серверів - це не додатковий етап після розгортання інфраструктури, а обов’язкова складова її проєктування. Будь-який публічно доступний сервіс - SSH, вебсервер, поштовий шлюз або VPN - стає об’єктом автомати...

DevOps iron_will 26/02/2026

Ansible: основи автоматизації, принципи роботи та приклади корисних playbook

Вступ Автоматизація інфраструктури стала стандартом у сучасній розробці та експлуатації програмного забезпечення. Концепції Infrastructure as Code (IaC), безперервної інтеграції та безперервного розгортання (CI/CD), керування конфігураціями та масшт...

DevOps iron_will 24/02/2026

Comments (0)

You must be logged in to leave a comment.

This website uses cookies to improve your experience. Learn more