*КУБ - повний комплекс хмарних послуг!

Підключення до Linux VPS через SSH

Linux VPS
Підключення до Linux VPS через SSH

Що знадобиться

  • IP-адреса Linux 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.

Варіант A

Варіант 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 (його копіюємо на сервер).

Варіант B

Деталі щодо генерації ключів у 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)).

Спосіб 2.2

Крок 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

  1. Завантажте та запустіть PuTTY → вкладка Session → вкажіть Host Name (IP/домен), Port=22Connection type=SSH → Saved Sessions → Save → Open.
Варіант C

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) → перевірте:

  1. чи потрапив на сервер публічний ключ (.pub),
  2. права ~/.ssh (700) і authorized_keys (600),
  3. чи збігається 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-клієнта.)

Menu