Що таке SSH і як підключитися до сервера?
SSH (Secure Shell) — це протокол, що відкриває командний рядок віддаленого сервера через зашифроване з’єднання. Щоб підключитися до свого сервера, відкрийте термінал на власному комп’ютері та введіть ssh username@IP-address. За замовчуванням з’єднання використовує TCP-порт 22.
SSH — стандартний спосіб керувати VPS. Паролі й команди передаються в зашифрованому вигляді, тому користуватися ним через інтернет безпечно. Цим самим каналом передаються й файли (scp і sftp).
Що потрібно для підключення
Потрібні три речі: IP-адреса сервера, ім’я користувача та пароль або ключ SSH. У панелі Seturack відкрийте Мої сервери і натисніть свій сервер. На вкладці Огляд є рядки IP-адреса, Ім'я користувача і Пароль. На серверах із застосунком в один клік угорі сторінки є ще один рядок Пароль. Він призначений для входу в застосунок. Для SSH використовуйте рядок Пароль під рядком Ім'я користувача.
Підключення з Windows, macOS і Linux
Відкрийте термінал: PowerShell у Windows, Terminal у macOS і Linux. Введіть команду нижче. Замість root підставте значення з рядка Ім'я користувача, а замість прикладу IP — свою адресу:
Уперше SSH покаже відбиток сервера — він ідентифікує машину, до якої ви підключаєтеся. Введіть yes і натисніть Enter. Комп’ютер запам’ятає відбиток і порівнюватиме його під час кожного наступного підключення. Потім вставте пароль. Поки ви його вводите, на екрані нічого не з’являється — це нормально.
Відбиток дає змогу переконатися, що ви потрапили саме на свій сервер. Щоб бути певними, відкрийте консоль VNC у панелі, виконайте на сервері наведену нижче команду та порівняйте значення, що починається з SHA256:, із тим, яке показав ваш термінал:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
У Windows 10 (версії 1809) і новіших клієнт OpenSSH є додатковим компонентом. Якщо команду ssh не знайдено, додайте OpenSSH Client у розділі «Додаткові компоненти» в налаштуваннях. Або виконайте це у вікні PowerShell, відкритому від імені адміністратора:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Якщо SSH на сервері слухає інший порт, додайте -p. Щоб використати певний файл ключа, додайте -i:
ssh -p 2222 -i ~/.ssh/id_ed25519 [email protected]
Після підключення кожна введена команда виконується на сервері. whoami показує, під яким користувачем ви працюєте, а exit закриває з’єднання. Якщо мережа обірветься, процеси цього сеансу теж зупиняться. Запускайте довгі завдання в tmux, і вони продовжать працювати після розриву з’єднання. Щоб повернутися до сеансу, скористайтеся tmux attach.
Передавання файлів і скорочення
Тим самим з’єднанням можна копіювати файли: з комп’ютера на сервер і з сервера назад на комп’ютер:
scp backup.zip [email protected]:/root/
scp [email protected]:/root/backup.zip .
Щоб щоразу не вводити IP-адресу, додайте ці три рядки у файл ~/.ssh/config на своєму комп’ютері:
Host myserver
HostName 203.0.113.5
User root
Надалі достатньо буде ssh myserver.
Ключ SSH замість пароля
Вхід за ключем усуває ризик, що хтось підбере ваш пароль, але лише якщо вимкнути й вхід за паролем: додавання ключа саме його не вимикає. Ключ складається з двох частин: закритий ключ лишається на вашому комп’ютері, а відкритий ключ потрапляє на сервер. Сервер пускає лише тих, хто може довести, що має закритий ключ. Створіть пару на власному комп’ютері. У Windows PowerShell команда та сама:
ssh-keygen -t ed25519
Команда запитає парольну фразу, тож не залишайте її порожньою. Створюються два файли: id_ed25519 — закритий ключ, і ним ніколи не слід ділитися. id_ed25519.pub — відкритий ключ. Додати відкритий ключ на сервер можна двома способами:
- У панелі вставте вміст файлу
.pubв інструмент Ключі SSH на вкладці Керування. Ключ запрацює під час наступного завантаження сервера. - У Linux і macOS, якщо ви вже можете увійти за паролем:
ssh-copy-id [email protected]
Після цього та сама команда ssh підключає без запиту пароля сервера. Якщо ви задали парольну фразу, запитуватиметься вона. Вимкнення входу за паролем — окреме налаштування SSH, і порядок кроків має значення, інакше можна заблокувати собі доступ. Ми розглядаємо це в кроці 4 статті «Перші 10 кроків безпеки на новому VPS».
Типові помилки
| Повідомлення | Що він означає | Що робити |
|---|---|---|
| Permission denied | Ім’я користувача чи пароль неправильні, або ключ не зареєстровано. | Скопіюйте й вставте значення Ім'я користувача та Пароль із панелі. Якщо користуєтеся ключем, переконайтеся, що сервер перезапускався після його додавання. |
| Connection refused | Служба SSH на сервері не працює, або порт закритий. | Переконайтеся, що сервер увімкнено. У консолі VNC спробуйте systemctl start ssh. |
| Connection timed out | Ваш запит не доходить до сервера: IP-адреса неправильна, сервер вимкнено або брандмауер блокує порт 22. | Перевірте IP-адресу та стан сервера, огляньте правила брандмауера й спробуйте з іншої мережі. |
| Too many authentication failures | Ваш агент SSH запропонував кілька ключів, і сервер досяг ліміту спроб. | Запропонуйте лише потрібний ключ: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 [email protected] |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Відбиток сервера за цією IP-адресою змінився. Якщо ви перевстановлювали сервер, це очікувано. | Якщо ви очікували цієї зміни, видаліть старий запис командою ssh-keygen -R 203.0.113.5. Якщо ні, не підключайтеся. |
Якщо кілька разів поспіль ввести неправильний пароль, fail2ban (він працює на серверах із застосунками в один клік) на деякий час заблокує вашу IP-адресу. У цей період з’єднання може завершуватися тайм-аутом. Трохи зачекайте або спробуйте з іншої мережі.
Якщо підключитися взагалі не вдається
- Консоль VNC: інструмент на вкладці Керування відкриває екран сервера у браузері. Він не залежить від SSH, тож звідти можна перевірити службу.
- Якщо ви забули пароль: скористайтеся інструментом Скинути пароль root на вкладці Керування.
Докладно про кроки в панелі читайте в довідковій статті про SSH.
Коментарі0
Коментарів поки немає
Поділіться своєю думкою першим.
Будь ласка, увійдіть або зареєструйтеся, щоб залишити коментар.