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

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

Connecting to Linux VPS via SSH

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

  • 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.

Linux VPS

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

 

Linux VPS

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

 

Linux VPS

Крок 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=22, Connection type=SSHSaved SessionsSaveOpen.

2. Якщо вхід за ключем: PuTTYgen → завантажте приватний ключ або створіть новий → збережіть у форматі .ppk, потім у PuTTY: Connection → SSH → AuthPrivate 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-клієнта.)