1. Блог
  2. Мануали

Як підключитися до сервера по SSH: Windows, Linux, macOS

Як підключитися до сервера по SSH: Windows, Linux, macOS

SSH — основний спосіб керування Linux-сервером: ви отримуєте командний рядок віддаленої машини через зашифрований канал. Нижче — як підключитися з будь-якої операційної системи, налаштувати вхід за ключем і що робити, якщо з’єднання не встановлюється.

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

Після замовлення віртуального сервера ви отримуєте лист із даними доступу:

  • IP-адреса сервера, наприклад 203.0.113.10;
  • логін — зазвичай root;
  • пароль або заздалегідь доданий SSH-ключ;
  • порт — типово 22.

Підключення з Linux і macOS

Клієнт OpenSSH уже встановлено. Відкрийте термінал і виконайте:

ssh root@203.0.113.10

Якщо сервер слухає нестандартний порт, вкажіть його ключем -p:

ssh -p 2222 root@203.0.113.10

Під час першого підключення клієнт покаже відбиток ключа сервера й запитає, чи довіряєте ви йому. Введіть yes — відбиток збережеться в ~/.ssh/known_hosts, і запитання більше не з’явиться. Потім введіть пароль: символи під час введення не відображаються, це нормально.

Підключення з Windows

Вбудований клієнт OpenSSH

У Windows 10 і 11 клієнт SSH входить до складу системи. Відкрийте PowerShell або «Термінал» і використайте ту саму команду:

ssh root@203.0.113.10

Якщо команду не знайдено, встановіть компонент: Параметри → Програми → Додаткові компоненти → Клієнт OpenSSH.

PuTTY

PuTTY зручний, якщо потрібні збережені сесії або ви працюєте на старій версії Windows.

  1. Завантажте PuTTY з офіційного сайту й запустіть.
  2. У полі Host Name (or IP address) введіть IP-адресу сервера, у полі Port — порт.
  3. У розділі Window → Translation оберіть кодування UTF-8, щоб кирилиця відображалася коректно.
  4. Поверніться в Session, введіть назву в Saved Sessions і натисніть Save.
  5. Натисніть Open, підтвердьте відбиток сервера та введіть логін і пароль.

Вхід за SSH-ключем

Ключ безпечніший за пароль: його неможливо підібрати перебором, а вводити нічого не потрібно.

Створіть пару ключів на своєму комп’ютері (команда однакова для Linux, macOS і Windows):

ssh-keygen -t ed25519 -C "my-laptop"

Скопіюйте публічний ключ на сервер. У Linux і macOS:

ssh-copy-id root@203.0.113.10

У Windows команди ssh-copy-id немає, використовуйте PowerShell:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Перевірте, що вхід за ключем працює, і лише після цього вимкніть вхід за паролем. Для цього у файлі /etc/ssh/sshd_config на сервері вкажіть:

PasswordAuthentication no

і перезапустіть службу:

systemctl restart ssh

Короткі імена серверів

Щоб не вводити адресу, порт і логін щоразу, опишіть сервер у файлі ~/.ssh/config:

Host web
    HostName 203.0.113.10
    User root
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Тепер достатньо команди ssh web. Ці самі імена розуміють scp, rsync і sshfs.

Часті помилки

Повідомлення Причина й розв’язання
Connection refused Службу SSH не запущено або вказано неправильний порт. Перевірте порт і стан сервера в панелі керування.
Connection timed out Сервер вимкнено, неправильна IP-адреса або порт закрито файрволом.
Permission denied Неправильний логін, пароль або ключ. Вхід для root за паролем може бути заборонено в sshd_config.
REMOTE HOST IDENTIFICATION HAS CHANGED Сервер перевстановлено, і його ключ змінився. Видаліть старий запис: ssh-keygen -R 203.0.113.10.

Подробиці про причину відмови покаже режим налагодження: ssh -v root@203.0.113.10.

Що налаштувати після першого входу

Сервер із відкритим портом 22 починають сканувати боти вже в перші хвилини. Мінімальний набір захисту: