
Що знадобиться
- IP-адреса VPS, логін (зазвичай root або користувач з sudo), порт SSH (за замовчуванням 22).
- Клієнт SSH:
- Windows 10/11: вбудований OpenSSH в Windows Terminal / PowerShell / CMD (рекомендується), або PuTTY.
- macOS / Linux: попередньо встановлений ssh в Terminal.
Варіант A — швидке підключення за допомогою пароля (Windows/macOS/Linux)
Команда (замість user і 1.2.3.4 підставте свої значення):
ssh user@1.2.3.4 -p 22
При першому вході підтвердіть ключ хоста (yes), потім введіть пароль.
Базові опції клієнта та аутентифікації описані в мануалі OpenSSH.

Варіант B — захищено за допомогою ключа (рекомендується)
Крок 1. Згенеруйте пару ключів на своєму ПК
У Windows 10/11 відкрийте PowerShell і виконайте:
ssh-keygen -t ed25519 -C "мій-коментар"
# якщо ed25519 недоступний:
# ssh-keygen -t rsa -b 4096 -C «мій-коментар»
Ключі з’являться в C:\Users\<ім’я>\.ssh\ (або ~/.ssh на macOS/Linux): приватний — без розширення (зберігати в таємниці), публічний — .pub (його копіюємо на сервер).

Деталі щодо генерації ключів у Windows: Microsoft/phoenixNAP/HowToGeek.
Крок 2. Занесіть публічний ключ на сервер
Спосіб 2.1 — автоматично (якщо є парольний доступ):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@1.2.3.4
Утиліта сама додасть ключ в ~/.ssh/authorized_keys і виставить права.
Спосіб 2.2 — вручну (через парольний вхід):м
ssh user@1.2.3.4
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# вставте сюди вміст вашого .pub, потім збережіть
chmod 600 ~/.ssh/authorized_keys
Не переплутайте: на сервер потрапляє тільки .pub, приватний ключ ніколи не копіюємо. Права .ssh = 700, authorized_keys = 600 (інакше буде Permission denied (publickey)).

Крок 3. Підключіться за допомогою ключа
ssh -i ~/.ssh/id_ed25519 user@1.2.3.4
Щоб не вводити параметри щоразу, додайте профіль у ~/.ssh/config:
Host myvps
HostName 1.2.3.4
User user
Port 22
IdentityFile ~/.ssh/id_ed25519
Тепер достатньо ssh myvps. Документація по ssh_config (всі ключові параметри — Host, User, Port, IdentityFile).
Варіант C — через PuTTY (Windows), якщо зручніше GUI
- Завантажте та запустіть PuTTY → вкладка Session → вкажіть Host Name (IP/домен), Port=22, Connection type=SSH → Saved Sessions → Save → Open.

2. Якщо вхід за ключем: PuTTYgen → завантажте приватний ключ або створіть новий → збережіть у форматі .ppk, потім у PuTTY: Connection → SSH → Auth → Private key file for authentication — виберіть .ppk.
3. (Опціонально) Логуйте сесію і зберігайте профіль, щоб не вводити параметри кожен раз.
Перевірка і базова налагодження
Перевірити доступність порту 22 з вашого ПК:
# Linux/macOS:
nc -vz 1.2.3.4 22
# Windows (PowerShell):
Test-NetConnection 1.2.3.4 -Port 22
Permission denied (publickey) → перевірте:
- чи потрапив на сервер публічний ключ (.pub),
- права ~/.ssh (700) і authorized_keys (600),
- чи збігається IdentityFile локально.
Посилення безпеки сервера (після налаштування ключів)
Відкрийте /etc/ssh/sshd_config і перевірте (або додайте) рядки, потім перезапустіть sshd:
# заборона прямого входу root (рекомендується)
PermitRootLogin no
# заборона паролів, залишаємо тільки ключі
PasswordAuthentication no
PubkeyAuthentication yes
# (опціонально) нестандартний порт:
# Port 2222
sudo systemctl restart sshd
Підтримувані ключові директиви та алгоритми описані на сторінці man sshd_config/ssh_config.
Копіювання файлів
SCP:
scp -P 22 file.zip user@1.2.3.4:/home/user/
SFTP (інтерактивно):
sftp -P 22 user@1.2.3.4
(Обидва способи входять до пакету OpenSSH-клієнта.)