Подключение к VPS

VPS — это виртуальный сервер, которым ты управляешь командами через удалённую консоль. В этой статье рассматривается подключение только к VPS на Linux: Ubuntu, Debian и похожим системам.

Данные для подключения

Для установки соединения нужны:

  • IP-адрес VPS, например 185.9.145.215;
  • имя пользователя, обычно root;
  • порт SSH, обычно 22;
  • пароль от VPS или SSH-ключ.

IP-адрес находится в личном кабинете my.superhub.host, а пароль можно найти в письме после заказа сервера. Лучше сразу сбросить его в отдельной панели управления: vps.superhub.host.

Пункт «Change password» в панели VPS

На скриншоте показано меню VPS-панели. Через пункт «Change password» можно задать новый пароль от сервера без входа по SSH.

Подключение

В Windows открой PowerShell, Windows Terminal или «Командную строку» (cmd), а в Linux и macOS открой «Терминал» (Terminal) и введи:

ssh root@185.9.145.215

Вместо 185.9.145.215 укажи IP-адрес своего VPS и нажми Enter, чтобы выполнить команду.

При первом подключении система спросит, доверяешь ли ты серверу:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Введи yes и нажми Enter:

yes

После этого появится запрос пароля. Вставь пароль от VPS и нажми Enter.

В терминале Linux и SSH пароль при вводе обычно не отображается: нет ни точек, ни звёздочек. Это нормально. Просто введи пароль или вставь его и нажми Enter.

После подключения ты увидишь приглашение командной строки сервера. Обычно оно выглядит примерно так:

root@server:~#

Подключение через PuTTY

PuTTY — это отдельная программа для SSH, которую часто используют в Windows. Она полезна, если тебе неудобно подключаться через PowerShell.

Порядок подключения:

  1. Скачай PuTTY с официального сайта.
  2. Запусти putty.exe.
  3. В поле «Host Name (or IP address)» введи IP-адрес VPS.
  4. В поле «Port» укажи 22.
  5. В «Connection type» выбери SSH.
  6. Нажми «Open».
  7. В появившейся консоли введи логин root и нажми Enter.
  8. Введи пароль от VPS и нажми Enter.

В PuTTY пароль тоже не отображается при вводе. Если ты скопировал пароль, достаточно кликнуть правой кнопкой мыши внутри окна PuTTY — текст вставится в консоль.

Смена пароля в панели

Если ты ещё не подключался к серверу или забыл пароль, смени его через VPS-панель:

  1. Открой vps.superhub.host.
  2. Выбери нужный сервер.
  3. Открой меню действий.
  4. Нажми «Change password».
  5. Укажи новый пароль и сохрани изменения.

После смены подожди, пока панель применит действие, и попробуй подключиться по SSH с новым паролем.

Смена пароля в системе

Если ты уже вошёл на сервер по SSH, пароль можно поменять прямо внутри системы.

Для текущего пользователя выполни:

passwd

Система попросит ввести новый пароль два раза:

New password:
Retype new password:

При успешной смене появится сообщение:

passwd: password updated successfully

Для смены пароля другого пользователя укажи его имя:

passwd username

SSH-ключи

SSH-ключи безопаснее обычного пароля. Вместо ввода пароля сервер проверяет пару ключей:

  • приватный ключ хранится на твоём компьютере;
  • публичный ключ добавляется на сервер.

Приватный ключ нельзя отправлять другим людям и загружать на сервер. Если он попадёт к постороннему человеку, удали соответствующий публичный ключ из authorized_keys и создай новую пару ключей.

Генерация ключа

На своём компьютере открой терминал и выполни:

ssh-keygen -t ed25519

Нажми Enter, чтобы оставить стандартный путь ~/.ssh/id_ed25519. Если программа сообщает, что файл уже существует, не соглашайся перезаписывать его: используй существующий ключ или укажи новое имя. Для дополнительной защиты задай пароль на сам ключ.

После генерации появятся два файла:

  • id_ed25519 — приватный ключ;
  • id_ed25519.pub — публичный ключ.

На сервер нужно добавлять только файл с расширением .pub.

Добавление ключа

На Linux и macOS проще всего использовать ssh-copy-id:

ssh-copy-id root@185.9.145.215

Если команда недоступна, добавь ключ вручную:

  1. Открой файл id_ed25519.pub на своём компьютере и скопируй всю строку.
  2. Подключись к VPS по SSH с паролем.
  3. Создай папку .ssh:
mkdir -p ~/.ssh
  1. Выставь правильные права:
chmod 700 ~/.ssh
  1. Открой файл authorized_keys:
nano ~/.ssh/authorized_keys
  1. Вставь публичный ключ в отдельную строку.
  2. Сохрани файл: Ctrl+O, Enter, затем Ctrl+X.
  3. Выставь права на файл:
chmod 600 ~/.ssh/authorized_keys

После этого открой новое окно терминала на своём компьютере и проверь вход только по ключу:

ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no root@185.9.145.215

Подставь IP своего VPS. Если ключ сохранён под другим именем, добавь -i путь_к_приватному_ключу. Запрос пароля самого ключа допустим; пароль от VPS эта команда не использует.

Отключение пароля

Когда вход по ключу проверен, можно отключить авторизацию по паролю. Это снижает риск подбора пароля ботами.

Не закрывай текущую SSH-сессию, пока не проверишь вход по ключу в новом окне. Если ошибиться в настройках и закрыть единственную сессию, можно потерять доступ к серверу.

Открой конфиг SSH:

nano /etc/ssh/sshd_config

Найди параметры PubkeyAuthentication, PasswordAuthentication и KbdInteractiveAuthentication в общем разделе до первого блока Match. Убери # в начале нужных строк и задай значения, как ниже; отсутствующие параметры добавь:

PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no

Последний параметр отключает интерактивный способ проверки, который тоже может запрашивать пароль. Этот пример рассчитан на вход по ключу без отдельного второго фактора SSH.

В Ubuntu и Debian настройки могут загружаться через Include из /etc/ssh/sshd_config.d/. Первое прочитанное значение имеет приоритет, поэтому изменение строки в основном файле не всегда действует. Если проверка ниже показывает другие значения, проверь подключаемые файлы и блоки Match. Подробнее — в документации OpenSSH.

Сохрани файл: Ctrl+O, Enter, затем Ctrl+X. Проверь конфигурацию на VPS:

sshd -t

Если команда вывела ошибку, исправь её до применения настроек. При успешной проверке вывода нет. Посмотри итоговую конфигурацию:

sshd -T

Найди в выводе pubkeyauthentication yes, passwordauthentication no и kbdinteractiveauthentication no. Если используются блоки Match, для проверки конкретного подключения нужны параметры sshd -T -C — смотри описание команды. Не применяй изменения, пока не разберёшься с несовпадением значений.

Примени проверенную конфигурацию:

systemctl reload ssh

На системах, где служба называется sshd, используй:

systemctl reload sshd

Убедись, что команда завершилась без ошибок, затем ещё раз проверь вход по ключу из нового окна. Текущую сессию закрывай только после успешного подключения.

Распространённые ошибки

Permission denied

Ошибка:

Permission denied (publickey,password)

Означает, что сервер не принял пароль или ключ. Проверь IP-адрес, пользователя, пароль, наличие публичного ключа в ~/.ssh/authorized_keys и права на файлы .ssh.

Connection refused

Ошибка:

Connection refused

Обычно означает, что SSH-служба не слушает указанный порт или подключение заблокировано. Проверь, включён ли VPS, не менялся ли порт SSH и не блокирует ли подключение файрвол.

Connection timed out

Ошибка:

Connection timed out

Чаще всего говорит о сетевой недоступности: VPS выключен, указан неверный IP-адрес, порт закрыт файрволом или есть проблема маршрута от твоего провайдера.

Host key verification failed

Если сервер переустанавливали, SSH может ругаться на изменившийся ключ хоста:

Host key verification failed

Если ты точно переустанавливал VPS и IP-адрес принадлежит твоему серверу, удали старую запись командой:

ssh-keygen -R 185.9.145.215

После этого подключись заново и подтверди новый ключ.