Розбираємось, як підключитися по SSH у Linux, MacOS та Windows. Розглянемо два способи: з використанням пароля та без нього (за допомогою SSH-ключів).
Що потрібно для підключення до сервера по SSH
Для підключення по SSH знадобляться такі дані:
- ім’я користувача та пароль;
- IP-адреса або хостнейм сервера;
- порт (за замовчуванням 22, у нас на віртуальному хостингу — 21098, на іншому хостингу може бути інший).
Зазвичай цю інформацію можна знайти у листі про активацію хостингу.
Підключення по SSH в панелі керування хостингом
Цей найбільш простий та лінивий спосіб, тому що для нього не потрібно навіть знати деталі підключення до сервера. Він підійде, якщо доступ SSH потрібен рідко або знадобився раптово, а ви не пам’ятаєте пароль.
Додаток для SSH-доступу до сервера є у більшості панелей. У себе на віртуальному хостингу ми використовуємо cPanel, потрапити до неї можна з особистого кабінету. Там на головній сторінці у секції «Розширений» є додаток «Термінал».

Підключення по SSH в Linux або MacOS
Це можна зробити у вбудованому в систему додатку «Термінал» або встановити сторонній SSH-клієнт. Ось декілька прикладів:
Для підключення використовуйте таку команду:
ssh ім'я_користувача@адреса_сервера -p порт
Якщо ви вперше підключаєтеся по SSH до цього сервера, програма скаже «я поки що не знаю цей сервер, ви точно хочете підключитися?». Введіть yes та натисніть Enter.

Далі SSH-клієнт попросить ввести пароль. Символи при введенні пароля зазвичай не відображаються з міркувань безпеки.

Після цього у командному рядку зміниться ідентифікатор користувача. Це означає, що вас підключило.

Повідомлення «Permission denied» або «Connection refused» означає, що підключитися не вдалося. Можливо, ви неправильно ввели пароль або використовуєте неправильний порт. Або підключення по SSH заборонено в параметрах сервера.

Щоб перервати SSH-підключення із сервером, використовуйте команду:
exit
Підключення по SSH у Windows
Раніше, щоб підключитися до сервера через SSH у Windows, потрібно було використовувати SSH-клієнт за типом PuTTy, Zoc, MobaXterm або Termius. Починаючи з Windows 10, у системі є вбудований набір програм OpenSSH (такий самий як у Linux з MacOS).
У Windows 11 OpenSSH активовано за замовчуванням, у Windows 10 може знадобитися активувати його вручну. Це можна зробити в меню «Пуск», розділ «Параметри – Програми», підрозділ «Керування додатковими компонентами».
За замовчуванням OpenSSH у Windows не активовано. Щоб активувати, відкрийте в меню «Пуск», розділ «Параметри – Програми», підрозділ «Керування додатковими компонентами».
Щоб відкрити консоль і підключитися до сервера SSH, відкрийте програму «Виконати» (натисніть комбінацію клавіш Win+R), введіть у рядку команду cmd і натисніть Enter.

Відкриється консоль, де можна буде підключитися до сервера SSH таким же чином, як і в Linux:
ssh ім'я_користувача@адреса_сервера -p порт
Введіть yes, якщо консоль запитує «Are you sure you want to continue connecting (yes/no)?». Це додасть сервер до списку тих, яким можна довіряти.

Потім введіть пароль від облікового запису. Пам’ятайте, що з міркувань безпеки символи вводяться, але не відображаються.

Після цього вас має підключити до сервера, що буде помітно по ідентифікатору користувача (перед рядком для виконання команд).

Щоб відключитися від сервера, використовуйте таку команду (або закрийте консоль):
exit
Підключення по SSH без пароля
Для цього використовують аутентифікацію за допомогою SSH-ключів: приватного (зашифровує повідомлення) та публічного (розшифровує повідомлення). Приватний ключ зашифровує повідомлення, зберігається на вашому комп’ютері. Публічний ключ розшифровує повідомлення, зберігається на сервері.
Як це працює
Коли ви намагаєтеся підключитися через SSH за допомогою ключів, сервер відправляє на ваш комп’ютер випадкове повідомлення, комп’ютер зашифровує його закритим ключем і відправляє назад. Якщо у сервера вдається розшифрувати повідомлення відкритим ключем, авторизація вважається успішною.
Такий спосіб підключення вважається більш безпечним, ніж підключення з паролем (захист від brute-force атак). А ще інколи більш зручним, тому що не треба кожен раз вводити пароль (якщо тільки ви не налаштували парольную фразу).
Щоб усе це налаштувати, потрібно: 1) згенерувати SSH-ключі; 2) розмістити публічний ключ на віддаленому сервері, а приватний — на комп’ютері, з якого будете підключатися; 3) вимкнути авторизацію за паролем у налаштуваннях служби SSH.
Крок 1. Згенеруйте SSH-ключ
Це робиться за допомогою команди ssh-keygen:
ssh-keygen

Спочатку утиліта запропонує ввести ім’я файлу, в який потрібно зберегти ключ (фраза «Enter file in which to save the key»). Щоб усе працювало, краще залишити стандартне ім’я. Для цього просто натисніть клавішу Enter.
Потім утиліта попросить придумати passphrase (кодову фразу). Це пароль, який потрібно буде вводити щоразу під час входу та виконання деяких дій. Якщо не хочете використовувати passphrase, просто натисніть клавішу Enter.
Останній крок — утиліта попросить повторити passphrase. Якщо на попередньому кроці нічого не вводили, знову натисніть клавішу Enter. Після цього утиліта завершить процес і покаже випадкову картинку із символів. Це означає, що все готово.
Ключі зберігаються у папці /home/username/.ssh/. За замовчуванням секретний ключ називається id_rsa , а публічний – id_rsa.pub.
Також ви можете створити ключі одразу на сервері. Ось інструкція, як зробити це у панелі керування cPanel:
Стаття на тему:
Як керувати SSH-ключами в cPanel
Крок 2. Завантажте публічний ключ на сервер
Нюанс 👀
Якщо створювали SSH-ключи одразу на сервері (наприклад, у панелі керування хостингом cPanel), потрібно навпаки — скачати приватний ключ на комп’ютер. В сPanel він буде лежати у каталозі ssh в Менеджері файлів.
Завантажити публічний ключ на сервер можна за допомогою команди ssh-copy-id:
ssh-copy-id -p порт ім'я_користувача@адреса_сервера

Потрібно ввести пароль від сервера, після чого утиліта сама візьме вміст файлу id_rsa.pub і збереже його стандартним шляхом: ~/.ssh/authorized_keys. Після цього можна буде підключатися SSH без пароля.
Якщо раптом не вдається завантажити ключ за допомогою команди, спробуйте зробити це в панелі керування хостингом. Ось інструкція, як зробити це в cPanel:
Як користуватись диспетчером файлів cPanel
Крок 3. Вимкніть авторизацію за паролем
Не спрацює на віртуальному хостингу (лише на VPS або виділеному сервері).
Це додатково посилить безпеку системи, але у разі втрати приватного ключа ви не зможете потрапити на сервер. Прийде заходити на сервер через панель керування хостингом, або звертатися в підтримку, щоб скинули налаштування SSH.
Відкрийте конфігураційний файл служби SSH:
nano /etc/ssh/sshd_config
Знайдіть директиву PasswordAuthentication і встановіть значення «no». Потім збережіть зміни – спочатку натисніть Ctrl+X, потім Y.

Перезапустіть службу SSH:
sudo service ssh restart
Що далі
Якщо раптом є зауваження щодо статті, щось не виходить чи є додаткові питання — залиште коментар трохи нижче, намагатимемося всім допомогти.
