calendar_month
September 23, 2025
schedule
5 хв. читання
visibility
646 переглядів
person
Valebyte Team
summarize
TL;DR
•Используйте SSH-ключи вместо паролей для повышения безопасности и удобства входа на VPS.
•Генерируйте ключи через ssh-keygen, выбирая алгоритм Ed25519 или RSA 4096 для надежной защиты.
•Переносите публичный ключ на сервер командой ssh-copy-id для автоматизации процесса авторизации.
•Редактируйте /etc/ssh/sshd_config, чтобы отключить вход по паролю после настройки доступа по ключам.
Як налаштувати SSH доступ до свого VPS?
Привіт, колего! Налаштовувати SSH доступ до свого VPS хостинг – це, здавалося б, найпростіше завдання, але повір мені, я витратив *годин* десять свого життя, розбираючись з різними заморочками. У цій статті я розповім тобі, як зробити це правильно, швидко і без зайвого головного болю. Забудь про нескінченні гугління і незрозумілі помилки – я зберу все необхідне в одному місці. Готуйся до інструкції, яка *настільки* детальна, що навіть твій кіт зрозуміє (ну, майже).
Отже, перш ніж ми почнемо, переконаємось, що у тебе є все необхідне. Тобі знадобиться доступ до твого VPS через панель керування (наприклад, панель керування від DigitalOcean, Vultr, AWS або іншої). Також тобі потрібен буде SSH-клієнт на твоєму локальному комп'ютері (Putty для Windows, вбудований термінал для macOS/Linux). Перевір підключення до інтернету – без нього нікуди! Я, наприклад, одного разу намагався налаштувати SSH без інтернету... Смішно, правда? Але тоді це було не смішно.
Ще один важливий момент: знай свою IP-адресу VPS! Вона зазвичай вказана в панелі керування. Запиши її куди-небудь, щоб не забути. Я зазвичай використовую блокнот, але ти можеш використовувати щось більш просунуте, якщо хочеш. Запам'ятай, *ніколи* не нехтуй елементарними речами, це заощадить тобі нерви в майбутньому.
Нарешті, переконайся, що у тебе є права root або sudo на твоєму локальному комп'ютері. Без них ти не зможеш виконати деякі команди. Якщо ти не знаєш, як це зробити, гугли "як отримати права sudo на [твоя операційна система]". Це займе всього пару хвилин, але заощадить тобі купу часу потім. Повір мені на слово!
# Пример проверки доступа sudo на Linux
sudo whoami
Очікуваний вивід: root
Генерація ключа SSH
Тепер, коли все готово, давай згенеруємо пару ключів SSH. Це потрібно для безпечного підключення до твого VPS. Не використовуй паролі для SSH – це погана практика! Замість цього ми будемо використовувати ключі. Це як ключ від твоєї квартири, тільки для твого сервера. І ось як це робиться:
Тобі запропонують вказати місце збереження ключів і задати пароль (я рекомендую *не* задавати пароль, але це справа твоя). Просто натисни Enter, якщо не хочеш пароль. У тебе з'являться два файли: `id_rsa` (приватний ключ – *зберігай його в секреті!*) і `id_rsa.pub` (публічний ключ – його ми будемо додавати на сервер).
Ось тут часто виникає проблема: люди забувають, куди зберегли свої ключі. Я одного разу витратив півдня, шукаючи свій приватний ключ! Так що, перевір, де збереглися твої файли. Зазвичай це `~/.ssh/`.
cat ~/.ssh/id_rsa.pub
Ця команда покаже тобі вміст публічного ключа. Нам знадобиться цей текст трохи пізніше.
Потрібен потужний VPS для безпечного SSH-доступу?
Наші VPS-плани забезпечують продуктивність і безпеку, необхідні для ваших проектів. Почніть роботу з надійним хостингом вже сьогодні. — від €4.49/міс.
Тепер потрібно додати твій публічний ключ на твій VPS. Є кілька способів зробити це. Найпростіший – скористатися командою `ssh-copy-id`. Але якщо вона не працює, завжди можна додати ключ вручну.
Спосіб 1: `ssh-copy-id`
ssh-copy-id user@ваш_ip_адрес
Заміни user@ваш_ip_адрес на твоє ім'я користувача і IP-адресу VPS. Тебе може попросити ввести пароль від користувача на VPS (якщо у тебе не налаштована авторизація по ключам).
Спосіб 2: Ручне додавання
Якщо `ssh-copy-id` не працює (наприклад, через проблеми з мережею), ти можеш додати ключ вручну. Підключись до свого VPS по SSH (якщо це можливо, навіть з паролем), відкрий файл `~/.ssh/authorized_keys` і додай туди вміст свого публічного ключа. Якщо файлу `authorized_keys` немає, створи його.
Заміни ваш_публичный_ключ на текст, який ти скопіював за допомогою `cat ~/.ssh/id_rsa.pub`.
Налаштування файлу sshd_config
Файл `/etc/ssh/sshd_config` містить налаштування SSH-сервера. Тут ти можеш налаштувати різні параметри, такі як порт, дозвіл root-логіна та інші. *Я б рекомендував* не чіпати його без особливої потреби, якщо все працює і так. Але якщо ти хочеш поміняти порт, ось як це зробити:
Знайди рядок `Port 22` і зміни її на бажаний порт (наприклад, `Port 2222`). Збережи зміни. Після цього перезапусти SSH-сервер:
sudo systemctl restart sshd
Важливе зауваження: зміна порту може призвести до проблем з іншими сервісами, які використовують порт 22. Будь уважний!
Ось приклад файлу `sshd_config` зі зміненим портом:
#Subsystem sftp /usr/lib/openssh/sftp-server
Port 2222
Protocol 2
#LogLevel INFO
#LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
#PermitEmptyPasswords no
Перевірка працездатності SSH
Нарешті-то! Прийшов час перевірити, чи все працює. Спробуй підключитися до свого VPS по SSH, використовуючи згенерований ключ. Якщо ти змінив порт, переконайся, що вказав його правильно.
ssh -p 2222 user@ваш_ip_адрес
(Замініть 2222 на твій порт, якщо ти його змінював). Якщо все налаштовано правильно, ти повинен підключитися без запиту пароля. Якщо ні... ну, доведеться все перевіряти заново. Подивись логи:
sudo journalctl -xe
Ця команда покаже останні записи системного журналу. Шукай там помилки, пов'язані з SSH.
Якщо все ОК, то вітаю! Ти успішно налаштував SSH доступ до свого VPS! Це налаштування просто супер!
rocket_launchШвидкий вибір
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
(або аналогічну команду для твоєї системи). Це допоможе захистити твій VPS від вразливостей. Також рекомендую використовувати firewall (брандмауер) для додаткового захисту. Серйозно, це важливо!
І пам'ятай: *безпека понад усе*! Зберігай свої приватні ключі в секреті і не використовуй слабкі паролі (якщо ти все-таки вирішив використовувати паролі). Краще взагалі уникати паролів для SSH. Це хитромудрий план, який *настільки* розумний, що тільки геній його придумав.
Ось ще кілька корисних команд для перевірки статусу SSH:
systemctl status sshd
ps aux | grep sshd
netstat -tulnp | grep sshd
Сподіваюся, ця стаття виявилася корисною. Якщо у тебе залишилися питання, сміливо пиши в коментарях! Успіхів!
«Налаштування SSH — це фундамент безпечної роботи з вашим VPS. Не економте час на цьому етапі.»
Андрій Петров, досвідчений системний адміністратор