Как подключиться к Linux по SSH
Первое подключение к VPS из Windows, macOS и Linux: проверка ключа сервера, вход по паролю или готовому SSH-ключу, команды для проверки Ubuntu и ресурсов, разбор ошибок.

Начало серии — создание VPS в Timeweb Cloud. Этот урок посвящён первому подключению к уже готовому Linux-серверу.
Подключение по SSH позволяет управлять Linux-сервером из терминала: устанавливать программы, проверять журналы, переносить файлы и запускать приложения. Для первого входа нужны адрес сервера, имя пользователя и пароль либо уже настроенный SSH-ключ.
В этом руководстве пройдём путь от проверки клиента до успешного входа на VPS. Затем узнаем версию системы, проверим ресурсы и разберём ошибки, которые чаще всего мешают подключиться.
Для практической части используем уже работающий VPS с Ubuntu 24.04 LTS — это позволяет сократить расходы на подготовку уроков. На стенде выделены 2 vCPU, около 2 ГБ оперативной памяти и диск 30 ГБ. Основная команда подключения одинакова для разных провайдеров; имя пользователя, порт и доступные способы входа зависят от настроек конкретного сервера.
Что понадобится для подключения
Перед запуском терминала подготовьте четыре вещи:
- Адрес сервера. Публичный IPv4, IPv6 или доменное имя, которое уже указывает на нужную машину.
- Имя пользователя. Например,
root,ubuntuили отдельная учётная запись, которую создал администратор. Название дистрибутива само по себе не определяет логин. - Способ входа. Пароль пользователя либо приватный SSH-ключ, публичная часть которого добавлена на сервер.
- Порт SSH. Обычно
22, но администратор мог выбрать другой.
Адрес и первоначальные данные обычно доступны в панели провайдера. Если VPS только создаётся, сначала дождитесь его готовности. При необходимости конфигурацию можно подобрать через Hostfera Select, а облачный сервер создать, например, в Timeweb Cloud.
Во всех командах ниже адрес 203.0.113.10 условный. Замените его своим IP, а root — своим именем пользователя. Для подключения к обычному VPS не нужно покупать домен или устанавливать графическую оболочку Linux.
Где вводить команды: на компьютере или на сервере
До подключения вы работаете в терминале своего компьютера. Здесь запускается команда ssh, проверяется доступность порта и выбирается ключ.
После успешного входа тот же терминал показывает оболочку удалённого Linux. Команды cat /etc/os-release, free -h и df -hT / выполняются уже на VPS. Если закрыть SSH-сеанс командой exit, управление вернётся к локальному компьютеру.
Не копируйте начало строки приглашения вместе с командой. В записи вида root@server:~# whoami вводить нужно только whoami. Имя перед знаком @, имя машины и символ # добавляет оболочка.
Шаг 1. Проверяем SSH-клиент
Windows 10 и Windows 11
Откройте Windows Terminal или PowerShell и выполните:
ssh -V
Если появилась строка с версией OpenSSH, клиент готов. Проверка ssh -V ничего не устанавливает и ещё не подключается к серверу.
Если Windows пишет, что команда не найдена, проверьте наличие OpenSSH Client в дополнительных компонентах Windows и установите его при необходимости. Для выхода с компьютера на VPS нужен именно клиент. Запуск SSH-сервера на домашнем компьютере для этого не требуется. После установки откройте терминал заново и повторите проверку. Порядок подключения через Windows Terminal описан в документации Microsoft.
macOS и Linux
Откройте приложение «Терминал» и проверьте клиент той же командой:
ssh -V
В macOS он обычно уже доступен. В Ubuntu или Debian при отсутствии клиента его можно установить на локальном компьютере с Linux:
sudo apt update
sudo apt install openssh-client
Установка клиента на вашем компьютере не устанавливает и не настраивает SSH на удалённом VPS.
Шаг 2. Запускаем подключение к VPS
Для стандартного порта выполните на своём компьютере:
ssh root@203.0.113.10
Здесь ssh — программа подключения, root — имя удалённой учётной записи, а часть после @ — адрес сервера.
Если вам выдали пользователя ubuntu, команда будет другой:
ssh ubuntu@203.0.113.10
При нестандартном порте, например 2222, добавьте строчную опцию -p:
ssh -p 2222 root@203.0.113.10
Не переносите порт из примера на свой сервер без проверки. Если SSH действительно работает на 22, указание 2222 не поможет подключиться. Базовый синтаксис и опции клиента приведены в руководстве OpenSSH.
Шаг 3. Проверяем ключ сервера
При первом соединении SSH-клиент может сообщить, что подлинность сервера пока неизвестна, и показать отпечаток ключа вида SHA256:…. Это ключ сервера, по которому компьютер узнаёт удалённую машину. Он отличается от вашего личного ключа для входа.
Сопоставьте отпечаток с тем, который показывает доверенная консоль провайдера или сообщает администратор. Если в панели есть доступ к консоли уже созданного Ubuntu-сервера, отпечаток его публичного Ed25519-ключа можно получить там:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
В нашем примере этот файл существует. У другой системы набор ключей может отличаться. Команда читает файл с расширением .pub и не выводит приватный ключ. Сравнивать нужно отпечаток того же типа ключа, который предложил клиент.
После независимой проверки подтвердите соединение ответом yes. Клиент сохранит ключ в локальный known_hosts и сможет сравнивать его при следующих входах. Если независимый источник отпечатка недоступен, первый контакт сам по себе не доказывает подлинность сервера — уточните способ проверки у провайдера или администратора.
На снимке ниже показаны фактический ключ нашего стенда, состояние службы SSH и порт, который она слушает. У вашего сервера отпечаток будет своим.
При повторных подключениях предупреждение REMOTE HOST IDENTIFICATION HAS CHANGED требует разбирательства. Причиной может быть переустановка VPS или передача адреса другой машине, но возможна и подмена. Сначала выясните, почему изменился ключ, и снова сверьте его через доверенный канал. Отключать проверку ключей ради устранения этого предупреждения не нужно.
Шаг 4. Вводим пароль или используем готовый ключ
Вход по паролю
Если сервер разрешает парольный вход, после проверки ключа появится запрос пароля пользователя. Введите пароль и нажмите Enter.
При вводе пароля терминал обычно не показывает ни символов, ни звёздочек. Это нормальное поведение. Пустая на вид строка не означает, что клавиатура не работает.
Пароль учётной записи Linux может отличаться от пароля кабинета провайдера. Проверьте раскладку и не добавляйте пробелы в начале или конце. Если нужно повторить ввод с чистой строки, обычно помогает Ctrl+U: затем введите пароль заново.
Не помещайте пароль в саму команду, файл статьи или снимок экрана. Для обычного интерактивного входа достаточно запроса, который выводит SSH-клиент.
Вход с уже настроенным SSH-ключом
Если при создании VPS вы добавили свой публичный ключ, используйте соответствующий приватный файл на своём компьютере. Пример для macOS или Linux:
ssh -i ~/.ssh/id_ed25519 root@203.0.113.10
В PowerShell путь к такому файлу можно указать через домашний каталог:
ssh -i "$env:USERPROFILE\.ssh\id_ed25519" root@203.0.113.10
Файл без .pub — приватный ключ. Файл с .pub содержит публичную часть и не подходит в качестве приватного файла для опции -i.
Если ключ защищён кодовой фразой, SSH попросит её отдельно. Это не пароль пользователя VPS. Простого наличия файла на компьютере недостаточно: его публичная часть должна быть разрешена для нужного пользователя на сервере. Создание новой пары ключей и перенос доступа лучше выполнять отдельным шагом, сохраняя уже работающий способ входа.
Шаг 5. Убеждаемся, что вошли на Linux-сервер
После успешной аутентификации появится приветствие и приглашение удалённой оболочки. Его оформление у разных систем различается. Для проверки выполните на сервере:
whoami
pwd
Первая команда покажет текущего пользователя, вторая — текущий каталог. При входе под root на нашем стенде получены root и /root.
Теперь узнайте дистрибутив и версию ядра:
cat /etc/os-release
uname -r
В os-release ищите строки PRETTY_NAME и VERSION_ID. На проверенном сервере они указывают на Ubuntu 24.04.5 LTS и ветку 24.04, а uname -r возвращает 6.8.0-147-generic.
Это разные сведения: 24.04 — версия дистрибутива Ubuntu, а 6.8.0-147-generic — версия установленного ядра. Числа в выводе вашего VPS могут отличаться после обновлений.
Если приглашение осталось похожим на PS C:\Users\…> и команда cat /etc/os-release не находит файл, проверьте, не закончился ли удалённый сеанс. Одного запуска терминала на компьютере недостаточно: перед Linux-командами должен успешно завершиться вход через SSH.
Шаг 6. Проверяем ресурсы сервера
Первое подключение удобно завершить проверкой того, что вы получили нужную конфигурацию. Все следующие команды выполняются на VPS и не меняют его настройки.
Количество доступных логических CPU:
nproc
Состояние оперативной памяти:
free -h
Размер, использование и свободное место корневой файловой системы:
df -hT /
Время работы и текущая нагрузка:
uptime
На нашем стенде nproc показывает 2, free -h — около 1.9Gi общей памяти, а df — корневую файловую систему около 29G с примерно 27G свободного места. Это результат проверки конкретного VPS, а не обещание одинаковых значений для любого тарифа.
При чтении результатов учитывайте несколько деталей:
- В строке памяти столбец
availableполезнее одного толькоfree: часть памяти Linux использует как освобождаемый кеш. df -hT /описывает файловую систему с корневым каталогом. Он не обязан показывать полный размер всех дисков и разделов VPS.- Разница между диском 30 ГБ и файловой системой около 29 ГБ может объясняться разделами и единицами измерения. Для состава дисков и разделов есть команда
lsblk. uptimeпоказывает нагрузку за несколько интервалов. Один снимок с малой нагрузкой не доказывает, что сервер выдержит посетителей вашего приложения.
Если выбираете объём хранилища под проект, отдельно посчитайте сайт, базу и копии. В руководстве «Сколько места на диске нужно сайту» разобрано, что включать в этот расчёт.
Что делать, если SSH не подключается
Не начинайте диагностику с переустановки VPS. Сначала определите, на каком этапе остановилось соединение.
| Сообщение или симптом | Что проверить |
|---|---|
Could not resolve hostname |
Правильно ли написано доменное имя. Для проверки используйте выданный серверу IP. Если соединяетесь по IP, проверьте саму команду на лишние символы. |
Connection timed out |
Готовность VPS, верный адрес и порт, правила сетевого экрана у провайдера и на сервере, ограничения вашей сети. Отсутствие ответа не доказывает одну конкретную причину. |
Connection refused |
Есть ли служба на указанном порте. Это может быть неверный порт, остановленный SSH или активный отказ сетевого экрана. |
Permission denied (publickey) |
Верного ли пользователя указали, выбран ли нужный приватный ключ и добавлена ли его публичная часть для этого пользователя. Возможно, парольный вход не разрешён. |
Permission denied, please try again |
Имя пользователя, пароль, раскладку и допустимость этого способа входа. Пароль кабинета не обязательно подходит к VPS. |
Too many authentication failures |
Не перебирает ли SSH-агент лишние ключи. Можно явно выбрать нужный ключ и ограничить их отправку, как показано ниже. |
REMOTE HOST IDENTIFICATION HAS CHANGED |
Причину изменения ключа сервера и его новый отпечаток через доверенный канал. |
Проверка порта с компьютера Windows
В новом локальном окне PowerShell можно проверить TCP-подключение к нужному порту:
Test-NetConnection -ComputerName 203.0.113.10 -Port 22
Если TcpTestSucceeded равно True, TCP-соединение установилось. Это ещё не подтверждает правильность пароля и не заменяет проверку ключа сервера. Ответы на ping для работы SSH не обязательны.
Подробности попытки подключения
Чтобы увидеть, до какого этапа доходит SSH-клиент, добавьте -v:
ssh -v root@203.0.113.10
Не публикуйте диагностический журнал целиком без просмотра: в нём могут быть адреса, имена пользователей и локальные пути. Приватный ключ для диагностики передавать никому не требуется.
Если агент предлагает слишком много ключей, попробуйте явно указать подходящий:
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@203.0.113.10
Проверка со стороны сервера
Если вход через SSH недоступен, используйте консоль провайдера. На Ubuntu из этого урока состояние службы и слушающий порт проверяются так:
systemctl is-active ssh
ss -lnt '( sport = :22 )'
На проверенном стенде служба ответила active, а порт 22 присутствует в выводе ss. Если вы настроили другой порт, замените число в фильтре. Даже такой результат сам по себе не подтверждает, что доступ пропускает внешний firewall провайдера.
Для деталей отказа аутентификации администратор может посмотреть журнал службы:
sudo journalctl -u ssh.service -n 50 --no-pager
Доступ к журналу зависит от прав пользователя. Не путайте журнал SSH с ошибками самого сайта: для веб-приложения потребуются его собственные журналы, о которых подробнее в материале «Как посмотреть логи ошибок сайта».
Как выйти и подключиться повторно
Для обычного завершения сеанса выполните на сервере:
exit
После выхода вы снова окажетесь в локальном терминале. Для повторного входа используйте ту же команду ssh с вашим адресом и пользователем.
Закрытие SSH не выключает VPS. Но программа, запущенная вручную в интерактивной оболочке, может зависеть от её завершения. Длительные сервисы позже будем запускать через подходящий менеджер служб или контейнеров.
Если нужно проверить новый способ доступа, откройте второе окно терминала и подключитесь в нём. Первое рабочее соединение сохраняйте до проверки. Это особенно полезно при добавлении ключей и изменении конфигурации SSH.
Что проверить перед установкой программ
Первое подключение можно считать выполненным, когда вы:
- Проверили ключ сервера доступным доверенным способом.
- Успешно вошли под выданным пользователем.
- Определили версию Linux, пользователя и текущий каталог.
- Сверили CPU, память и свободное место.
- Вышли и смогли подключиться повторно.
Следующий практический шаг — отдельный пользователь, SSH-ключи, обновления и firewall. В этом первом уроке мы не меняли порт, не отключали парольный вход и не устанавливали веб-сервер. Изменения доступа нужно проверять постепенно, чтобы не потерять соединение.
Перед размещением важных данных продумайте восстановление: одна возможность войти по SSH ещё не заменяет резервную копию. Начать можно с руководства по ежедневному резервному копированию, а способ восстановления обязательно проверить на собственном тестовом проекте.
После первого входа можно перейти к установке Nginx на Ubuntu и размещению первого сайта. В этой инструкции показаны каталог сайта, отдельный server block, подключение домена и проверка результата.
После первого подключения создайте отдельного пользователя с sudo, проверьте новый вход и переходите к настройке UFW на Ubuntu.
Первоисточники
Сообщите адрес статьи и фрагмент через контакты редакции.
