Инструкции

Как подключиться к VPS по SSH

Для входа на сервер нужны три вещи: IP-адрес, имя пользователя и пароль или ключ. Программа для подключения уже есть в macOS и, как правило, в Linux, а в Windows 10 (начиная с версии 1809) и Windows 11 есть встроенный клиент OpenSSH — скачивать ничего не нужно. Ниже — как зайти на сервер с каждой системы, что ответить на первый вопрос SSH, как перейти на вход по ключу, как передавать файлы и что делать, если сервер не пускает.

Обновлено 01.10.2026≈ 15 мин чтения
Содержание 13

Что нужно для входа

SSH — это способ управлять сервером через командную строку по зашифрованному соединению. Чтобы подключиться, нужны:

  • IP-адрес сервера — четыре числа через точку, например 203.0.113.10;
  • имя пользователя — на новом сервере обычно root;
  • пароль или SSH-ключ — смотря что вы выбрали при создании сервера;
  • порт — стандартный 22, его указывать не нужно. Если порт сменили, его добавляют к команде ключом -p, например ssh -p 2222 root@ВАШ_IP.

Где их найти:

  • Timeweb Cloud — IP и пароль root показаны на вкладке «Дашборд» сервера, там же готовая команда для подключения, которую можно скопировать (справка). Если пароля в панели нет, он пришёл на почту при создании сервера.
  • Beget — данные для входа приходят на почту после создания сервера. В панели они на странице «Облако», в блоке «Реквизиты доступа»: строка вида root@212.123.123.123 копируется кликом (справка).

Если при создании сервера у Beget выбрать вариант без публичного IP-адреса, снаружи по SSH на него не зайти: подключиться можно только из приватной сети или через терминал в панели.

Во всех командах ниже вместо ВАШ_IP подставьте IP своего сервера.

Как подключиться из Windows

В Windows 10, начиная с версии 1809, и в Windows 11 есть встроенный клиент OpenSSH — та же программа ssh, что на Mac и Linux. Откройте терминал: нажмите Win+X или щёлкните правой кнопкой по «Пуску» и выберите «Терминал» (в некоторых версиях пункт называется Windows PowerShell). Введите команду и нажмите Enter:

ssh root@ВАШ_IP

Скопированную команду или пароль в окно терминала вставляют правой кнопкой мыши.

Если Windows отвечает, что не знает команды ssh, клиент не установлен. Откройте PowerShell от имени администратора и проверьте:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

Строка State : NotPresent под OpenSSH.Client значит, что клиента нет. Установите его:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

То же можно сделать мышкой — в Параметрах Windows, в разделе дополнительных компонентов (в английской версии — Optional features): найдите «Клиент OpenSSH» и нажмите «Добавить». Подробнее — в инструкции Microsoft.

В Windows до версии 1809 встроенного клиента нет — там пользуются программой PuTTY, о ней ниже.

Как подключиться с Mac и Linux

Ставить обычно ничего не нужно. На Mac откройте программу «Терминал» — проще всего найти её через поиск Spotlight. В Linux терминал обычно открывается сочетанием Ctrl+Alt+T. Команда та же:

ssh root@ВАШ_IP

Вставка в терминале Mac — Cmd+V, в терминале Linux — обычно Ctrl+Shift+V.

Если Linux отвечает, что команды ssh нет, установите клиент. В Ubuntu это команда sudo apt install openssh-client.

Первое подключение: что ответить SSH

При первом входе на новый сервер SSH покажет примерно такой вопрос:

The authenticity of host '203.0.113.10 (203.0.113.10)' can't be established.
ED25519 key fingerprint is: SHA256:…
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

SSH видит этот сервер впервые и не может сам убедиться, что это именно он. Напечатайте yes целиком и нажмите Enter: на короткое y программа переспросит. После ответа SSH запомнит ключ сервера в файле known_hosts на вашем компьютере и больше спрашивать не будет — пока ключ не изменится.

Осторожный вариант — сначала сверить отпечаток. Зайдите на сервер через консоль в панели провайдера (о ней ниже) и выполните:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Отпечаток SHA256 в ответе должен совпасть с тем, что показал SSH. Не совпадает — не подключайтесь.

Дальше появится строка root@203.0.113.10's password: — SSH просит пароль. Символы при вводе не отображаются, даже звёздочками: так и задумано. Вставьте или напечатайте пароль вслепую и нажмите Enter. На неверный пароль SSH ответит Permission denied, please try again. После трёх ошибок он закончит попытки — команду придётся запустить заново.

Когда вход удался, в начале строки появится имя сервера: теперь все команды выполняются на нём.

Как выйти и что делать, если сессия зависла

Выйти с сервера — команда exit или Ctrl+D.

Если связь оборвалась, окно может перестать реагировать на клавиши. Нажмите Enter, потом ~ и . — SSH сразу закроет соединение. Раскладка клавиатуры при этом должна быть английской.

Долгие команды — обновление системы, копирование больших файлов — лучше запускать внутри программы tmux: если связь оборвётся, команда продолжит работать. Наберите tmux и работайте как обычно, а после обрыва подключитесь снова и вернитесь в сессию командой tmux attach. Если tmux на сервере нет, установите его: sudo apt install tmux.

Вход по ключу вместо пароля

Ключ надёжнее пароля: его не подобрать перебором, и вводить пароль при каждом входе не придётся. Ключ — это пара файлов. Закрытый остаётся у вас на компьютере, открытый кладут на сервер.

Шаг 1. Создайте ключ на своём компьютере

Команда одна для Windows, Mac и Linux:

ssh-keygen -t ed25519

Программа спросит, куда сохранить ключ, — нажмите Enter, место по умолчанию подходит. Потом попросит кодовую фразу (passphrase) и её повтор. Фразу лучше задать: если файл ключа украдут, без неё им не воспользоваться. Восстановить забытую фразу нельзя — только сделать новый ключ.

В папке .ssh внутри вашей домашней папки (в Windows — C:\Users\ВашеИмя\.ssh) появятся два файла:

  • id_ed25519 — закрытый ключ. Его никому не показывают и никуда не отправляют: это то же, что пароль.
  • id_ed25519.pub — открытый ключ. Его кладут на сервер, показывать его не страшно.

Шаг 2. Положите открытый ключ на сервер

Проще всего — через панель провайдера, особенно из Windows. Выведите открытый ключ на экран и скопируйте всю строку — она начинается с ssh-ed25519. На Mac и Linux: cat ~/.ssh/id_ed25519.pub, в Windows: type $env:USERPROFILE\.ssh\id_ed25519.pub.

  • Timeweb Cloud. Ключ можно добавить при создании сервера, в блоке «Авторизация», или на готовый сервер: вкладка «Доступ» → «Изменить». Он появится на сервере за пару минут, без перезагрузки (справка).
  • Beget. Ключ добавляют при создании сервера, в блоке «Аутентификация».

С Mac и Linux ключ можно отправить одной командой — она спросит пароль сервера в последний раз:

ssh-copy-id root@ВАШ_IP

В Windows такой команды нет. Вместо неё выполните в PowerShell:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@ВАШ_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"

Команда создаст на сервере папку .ssh, если её нет, и допишет ключ в файл authorized_keys. Выполните её один раз: каждый новый запуск добавляет тот же ключ ещё раз.

Шаг 3. Проверьте вход

Подключитесь как обычно: ssh root@ВАШ_IP. Пароль сервера больше спрашивать не должны. Если вы задали кодовую фразу, появится строка Enter passphrase for key — это фраза от ключа, а не пароль сервера.

Чтобы не вводить фразу при каждом входе, ключ добавляют в ssh-agent — программу, которая держит ключ наготове. На Mac и Linux: ssh-add ~/.ssh/id_ed25519. В Windows эта служба по умолчанию выключена. По инструкции Microsoft её включают в PowerShell от имени администратора и добавляют ключ:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Шаг 4. Закройте вход по паролю

Когда вход по ключу работает, вход по паролю лучше выключить: именно пароли подбирают роботы. Как это сделать, по шагам описано в пункте 4 инструкции «Как настроить VPS с нуля». После неё вы будете входить уже не под root, а под своим пользователем: ssh ivan@ВАШ_IP.

Одна ловушка, на которой спотыкаются многие. В Ubuntu настройки SSH лежат не только в файле /etc/ssh/sshd_config, но и в папке /etc/ssh/sshd_config.d/. Файлы из этой папки читаются раньше основного, а из повторяющихся настроек действует первая. Поэтому строка PasswordAuthentication yes в файле вроде 50-cloud-init.conf перебьёт вашу правку, и вход по паролю останется открытым (документация Ubuntu, справка Timeweb Cloud). Проверить, что действует на самом деле:

sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'

В ответе должно быть passwordauthentication no. Если там yes, найдите эту строку в файлах папки sshd_config.d, поменяйте на no, затем проверьте настройки и перезапустите SSH: sudo sshd -t && sudo systemctl restart ssh.

Короткое имя вместо IP: файл config

Чтобы не помнить IP и не набирать длинные команды, заведите на своём компьютере файл config в той же папке .ssh, где лежат ключи: ~/.ssh/config на Mac и Linux, C:\Users\ВашеИмя\.ssh\config в Windows. Расширения у файла нет — Блокнот норовит добавить .txt, проследите, чтобы этого не случилось. Впишите в файл:

Host myvps
    HostName 203.0.113.10
    User root
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 15

Теперь вместо ssh root@203.0.113.10 достаточно набрать ssh myvps. Что значат строки:

  • Host — короткое имя, любое.
  • HostName — настоящий IP или домен сервера.
  • User — под каким пользователем входить.
  • IdentityFile и IdentitiesOnly yes — предлагать серверу только этот ключ. Это спасает от ошибки Too many authentication failures, когда ключей на компьютере много.
  • ServerAliveInterval 15 — если 15 секунд от сервера ничего не приходит, SSH сам проверит, жив ли он. Не ответит три раза подряд — примерно за 45 секунд — SSH закроет соединение, вместо того чтобы висеть.

Если порт не 22, добавьте строку Port со своим номером. На Mac и Linux файл config должен быть доступен на запись только вам: chmod 600 ~/.ssh/config.

Как передать файлы на сервер

Команда scp есть везде, где есть ssh, и пускает на сервер по тому же паролю или ключу. Отправить файл на сервер:

scp site.zip root@ВАШ_IP:/var/www/

Скачать файл с сервера в текущую папку (точка в конце — это она):

scp root@ВАШ_IP:/root/backup.tar.gz .

Папку целиком копируют с ключом -r. Нестандартный порт у scp указывают большой буквой: -P 2222. Маленькая -p означает другое — сохранить у файлов время изменения и права. Если вы завели файл config, вместо root@ВАШ_IP можно писать короткое имя: scp site.zip myvps:/var/www/.

Если удобнее мышкой, подойдут бесплатные программы FileZilla и WinSCP (только для Windows). Выберите в них протокол SFTP и введите те же IP, пользователя, пароль или ключ и порт 22. У Beget в панели сервера есть ещё и свой файловый менеджер.

Старая Windows: PuTTY

Если встроенного клиента нет, подойдёт бесплатная программа PuTTY. Скачивайте её только с официального сайта: на 1 октября 2026 года последняя версия — 0.85.

  • В поле Host Name впишите только IP, без root@. Порт — 22.
  • Чтобы не вводить всё заново, впишите название в поле Saved Sessions и нажмите Save.
  • Нажмите Open. При первом подключении PuTTY спросит, доверять ли ключу сервера, — подтвердите.
  • В строке login as: введите root, затем пароль. Он, как и в обычном SSH, не отображается.

Копирование в PuTTY устроено непривычно: Ctrl+C и Ctrl+V не работают. Выделенный мышью текст копируется сам, а вставляют правой кнопкой мыши или Shift+Insert.

Ключи PuTTY хранит в своём формате .ppk. Создать такой ключ можно в программе PuTTYgen с того же официального сайта: нажмите Generate, поводите мышью над окном, задайте кодовую фразу и нажмите Save private key. Открытый ключ для сервера — в поле «Public key for pasting into OpenSSH authorized_keys file»: скопируйте его оттуда в панель провайдера. Если ключ уже создан командой ssh-keygen, новый делать не нужно: в PuTTYgen откройте меню Conversions → Import и сохраните ключ как .ppk. Сам файл .ppk указывают в PuTTY в разделе Connection → SSH → Auth → Credentials, в поле «Private key file for authentication».

Если сервер не пускает: консоль в панели

Даже если SSH сломан — закрыт фаерволом, неверно настроен или пароль забыт, — на сервер можно попасть через панель провайдера.

  • Timeweb Cloud — вкладка «Консоль» сервера, режимы serial и VNC. Консоль работает независимо от настроек сети и SSH. Входите под root с паролем с «Дашборда». Вставка — Ctrl+Shift+V, после неё подождите пару секунд (справка).
  • Beget — терминал открывается прямо из панели сервера, а для починки системы там же есть запуск в режиме восстановления (rescue).

Забытый пароль root сбрасывают в панели:

  • Timeweb Cloud — значок замка в верхнем меню сервера или вкладка «Доступ» → «Изменить». Новый пароль появится на «Дашборде». Учтите: если вы меняли пароль на самом сервере, в панели остаётся показан старый, он уже не подойдёт (справка).
  • Beget — «Сброс пароля» в настройках сервера. Новый пароль придёт на контактную почту и начнёт действовать только после перезагрузки сервера.
На сайте есть партнёрские ссылки на Timeweb Cloud и Beget: если вы оплатите сервер после перехода по ним, провайдер заплатит нам процент. Для вас цена от этого не меняется. Всё, что мы пишем о панелях провайдеров, сверено с их справкой 1 октября 2026 года — ссылки в тексте.

Кому что

  • Windows 10 или 11 — встроенный ssh в Терминале, для файлов — WinSCP или FileZilla.
  • Mac или Linux — Терминал: ssh, ssh-copy-id и scp уже на месте.
  • Windows до версии 1809 — PuTTY, ключи — в PuTTYgen.
  • Сервер ещё не выбран — посмотрите не только на цену, но и на панель. У VPS в Timeweb Cloud есть консоль, которая работает при сломанном SSH, а ключ добавляется на готовый сервер без перезагрузки. У VPS от Beget в панели есть терминал, файловый менеджер и режим восстановления. Цены провайдеров — в рейтинге VPS.

Частые ошибки

Что случилосьВ чём обычно дело
Connection refusedСервер в сети, но на этом порту SSH не отвечает: указан не тот порт, сервер ещё загружается или SSH на нём остановлен. Зайдите через консоль в панели
Connection timed out или Operation timed outОтвета нет совсем: опечатка в IP, сервер выключен или порт закрыт фаерволом — например, ufw включили, не разрешив SSH. Проверьте IP в панели и зайдите через консоль
Could not resolve hostnameОпечатка в имени сервера или домен ещё не направлен на сервер. Подключитесь по IP
Permission denied (publickey)Сервер пускает только по ключу, а ваш не подошёл: ключ не добавлен на сервер, выбран не тот ключ или не тот пользователь
Permission denied, please try again.Неверный пароль. Если вы меняли его на сервере, в панели провайдера может быть показан старый
REMOTE HOST IDENTIFICATION HAS CHANGEDКлюч сервера не совпал с запомненным. После переустановки системы это нормально: удалите старую запись командой ssh-keygen -R ВАШ_IP. Если вы ничего не переустанавливали, не подключайтесь и напишите провайдеру
Too many authentication failuresSSH перебрал слишком много ключей, и сервер оборвал попытки — по умолчанию после шести. Укажите ключ явно: ssh -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes root@ВАШ_IP
UNPROTECTED PRIVATE KEY FILEФайл закрытого ключа могут читать другие пользователи компьютера, и SSH его не использует. На Mac и Linux: chmod 600 ~/.ssh/id_ed25519
Пароль не печатаетсяТак и задумано: символы не отображаются. Вводите вслепую и жмите Enter
Окно перестало реагироватьОборвалась связь. Нажмите Enter, затем ~ и .

Если причина не ясна, запустите подключение с подробным отчётом: ssh -v root@ВАШ_IP, а для ещё большей подробности — -vvv. В отчёте видно, какие ключи SSH предлагает серверу и на каком шаге всё ломается. На самом сервере причину отказа покажет журнал: sudo journalctl -u ssh.

Что почитать дальше

Справка Timeweb Cloud, Beget, Microsoft и Ubuntu, документация OpenSSH и PuTTY сверены 1 октября 2026 года. Сообщения SSH проверены на OpenSSH 10.3: в других версиях они могут немного отличаться. Провайдеры меняют панели — если читаете сильно позже, проверьте по ссылкам в тексте.

Проверено и обновлено: 01.10.2026