Как подключиться к VPS по SSH
Для входа на сервер нужны три вещи: IP-адрес, имя пользователя и пароль или ключ. Программа для подключения уже есть в macOS и, как правило, в Linux, а в Windows 10 (начиная с версии 1809) и Windows 11 есть встроенный клиент OpenSSH — скачивать ничего не нужно. Ниже — как зайти на сервер с каждой системы, что ответить на первый вопрос SSH, как перейти на вход по ключу, как передавать файлы и что делать, если сервер не пускает.
Содержание 13
- Что нужно для входа
- Как подключиться из Windows
- Как подключиться с Mac и Linux
- Первое подключение: что ответить SSH
- Как выйти и что делать, если сессия зависла
- Вход по ключу вместо пароля
- Короткое имя вместо IP: файл config
- Как передать файлы на сервер
- Старая Windows: PuTTY
- Если сервер не пускает: консоль в панели
- Кому что
- Частые ошибки
- Что почитать дальше
Что нужно для входа
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 — «Сброс пароля» в настройках сервера. Новый пароль придёт на контактную почту и начнёт действовать только после перезагрузки сервера.
Кому что
- 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 failures | SSH перебрал слишком много ключей, и сервер оборвал попытки — по умолчанию после шести. Укажите ключ явно: 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.
Что почитать дальше
- Как настроить VPS с нуля — что сделать сразу после первого входа: пользователь, запрет входа по паролю, фаервол.
- Как разместить сайт на VPS — куда положить файлы сайта и как настроить для него nginx и HTTPS.
- Рейтинг VPS 2026 — если сервер ещё не выбран: цены семи провайдеров.
- VPS на Windows — если на сервере Windows: к нему подключаются по RDP, а не по SSH.
- Чем VPS отличается от обычного хостинга — если не уверены, что вам нужен именно сервер.
- VPS для телеграм-бота — какой сервер взять под бота.
- Как перенести сайт на другой хостинг без простоя — как скопировать файлы и базу через SSH и переключить домен.
- Бесплатный SSL-сертификат — как выдать сайту на сервере сертификат через Certbot.
- Что такое домен — как направить домен на IP-адрес сервера записью A.
- Что делать, если хостинг лежит — какие команды запустить на сервере, если сайт на нём перестал открываться.
- Панель управления хостингом и VPS — если сайты на сервере удобнее настраивать в браузере, а не командами.
Проверено и обновлено: 01.10.2026