Розбираємось, як підключитися по SSH у Linux, MacOS та Windows. Розглянемо два способи: з використанням пароля та без нього (за допомогою SSH-ключів).

Що потрібно для підключення до сервера по SSH

Для підключення по SSH знадобляться такі дані:

  • ім’я користувача та пароль;
  • IP-адреса або хостнейм сервера;
  • порт (за замовчуванням 22, у нас на віртуальному хостингу — 21098, на іншому хостингу може бути інший).

Зазвичай цю інформацію можна знайти у листі про активацію хостингу.

Підключення по SSH в панелі керування хостингом

Цей найбільш простий та лінивий спосіб, тому що для нього не потрібно навіть знати деталі підключення до сервера. Він підійде, якщо доступ SSH потрібен рідко або знадобився раптово, а ви не пам’ятаєте пароль.

Додаток для SSH-доступу до сервера є у більшості панелей. У себе на віртуальному хостингу ми використовуємо cPanel, потрапити до неї можна з особистого кабінету. Там на головній сторінці у секції «Розширений» є додаток «Термінал».

Як зайти на сервер через консоль в панелі керування хостингом

Підключення по SSH в Linux або MacOS

Це можна зробити у вбудованому в систему додатку «Термінал» або встановити сторонній SSH-клієнт. Ось декілька прикладів:

Для підключення використовуйте таку команду:

ssh ім'я_користувача@адреса_сервера -p порт

Якщо ви вперше підключаєтеся по SSH до цього сервера, програма скаже «я поки що не знаю цей сервер, ви точно хочете підключитися?». Введіть yes та натисніть Enter.

SSH-доступ до сервера через термінал

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

Підключення до сервера SSH — Mac

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

Підключення по SSH Linux

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

SSH connect refused - підключення не вдалося

Щоб перервати 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 у Windows

Відкриється консоль, де можна буде підключитися до сервера SSH таким же чином, як і в Linux:

ssh ім'я_користувача@адреса_сервера -p порт

Введіть yes, якщо консоль запитує «Are you sure you want to continue connecting (yes/no)?». Це додасть сервер до списку тих, яким можна довіряти.

SSH консоль у Windows

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

Доступ до сервера SSH — Як підключитися до Windows

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

Як через консоль підключитися до сервера

Щоб відключитися від сервера, використовуйте таку команду (або закрийте консоль):

exit

Підключення по SSH без пароля

Для цього використовують аутентифікацію за допомогою SSH-ключів: приватного та публічного. Приватний ключ зашифровує повідомлення, зберігається на вашому комп’ютері. Публічний ключ розшифровує повідомлення, зберігається на сервері.

Коли ви намагаєтеся підключитися через SSH за допомогою ключів, сервер відправляє на ваш комп’ютер випадкове повідомлення, комп’ютер зашифровує його закритим ключем і відправляє назад. Якщо у сервера вдається розшифрувати повідомлення відкритим ключем, авторизація вважається успішною.

Щоб усе це налаштувати, потрібно: 1) згенерувати SSH-ключі у консолі; 2) завантажити публічний ключ на віддалений сервер; 3) вимкнути авторизацію за паролем у налаштуваннях служби SSH.

Крок 1. Згенеруйте SSH-ключ

Це робиться за допомогою команди ssh-keygen:

ssh-keygen 
Як згенерувати SSH-ключі в консолі

Спочатку утиліта запропонує ввести ім’я файлу, в який потрібно зберегти ключ (фраза «Enter file in which to save the key»). Щоб усе працювало, краще залишити стандартне ім’я. Для цього просто натисніть клавішу Enter.

Потім утиліта попросить придумати passphrase (кодову фразу). Це пароль, який потрібно буде вводити щоразу під час входу та виконання деяких дій. Якщо не хочете використовувати passphrase, просто натисніть клавішу Enter.

Останній крок — утиліта попросить повторити passphrase. Якщо на попередньому кроці нічого не вводили, знову натисніть клавішу Enter. Після цього утиліта завершить процес і покаже випадкову картинку із символів. Це означає, що все готово.

Ключі зберігаються у папці /home/username/.ssh/. За замовчуванням секретний ключ називається id_rsa , а публічний – id_rsa.pub.

Крок 2. Завантажте публічний ключ на сервер

Це можна зробити за допомогою команди ssh-copy-id:

ssh-copy-id -p порт ім'я_користувача@адреса_сервера 
Як завантажити SSH-ключі на сервер у консолі

Потрібно ввести пароль від сервера, після чого утиліта сама візьме вміст файлу 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

Що далі

Якщо раптом є зауваження щодо статті, щось не виходить чи є додаткові питання — залиште коментар трохи нижче, намагатимемося всім допомогти.

Чи була ця стаття корисною?

Дякуємо за відгук!