HELPER VPS

Подключение к VPS по SSH из Windows через PowerShell и PuTTY

С обычным компьютером на Windows можно сразу подключиться к Linux серверу, ничего не покупая. Здесь описаны оба способа: встроенная команда ssh в PowerShell и проверенный временем PuTTY.

Что подготовить перед подключением

SSH это способ обмениваться командами с сервером по зашифрованному каналу. Linux VPS создаётся с уже включённым SSH сервером, порт по умолчанию 22. Для подключения нужны всего три вещи.

  • IPv4 адрес сервера: указан в обзоре на странице сервера.
  • Имя пользователя: сначала используйте root.
  • Пароль root: нажмите «Показать» в поле пароля root на странице сервера. Он отображается 7 дней после установки, поэтому сохраните его в менеджере паролей.

Подключайтесь, когда статус сервера сменится на «Работает». Если сервер ещё создаётся или переустанавливается, немного подождите окончания установки. В командах ниже замените YOUR_SERVER_IP на IPv4 адрес своего сервера.

Способ 1. Подключение встроенной командой ssh в PowerShell

В Windows 10 начиная с версии 1809 и в Windows 11 клиент OpenSSH уже встроен. Без дополнительной установки в PowerShell или Windows Terminal работает та же команда ssh, что в macOS и Linux.

Шаг 1. Откройте PowerShell

Найдите в меню «Пуск» PowerShell или «Терминал» и откройте его. Проверьте командой ниже, что ssh готов к работе. Если появилась одна строка с версией OpenSSH, всё готово.

PowerShell
ssh -V

Если вместо версии появилось сообщение, что команда не найдена, добавьте клиент OpenSSH в дополнительных компонентах в настройках. В Windows 11 это «Параметры > Система > Дополнительные компоненты», в Windows 10 «Параметры > Приложения > Дополнительные компоненты». Можно также добавить его одной командой ниже в PowerShell с правами администратора.

PowerShell (администратор)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Шаг 2. Подключитесь к серверу

PowerShell
ssh root@YOUR_SERVER_IP

При первом подключении появится вопрос, сохранить ли отпечаток сервера. Введите yes и нажмите Enter: отпечаток сохранится в файле known_hosts на вашем компьютере, и больше этот вопрос не появится. Затем, когда появится запрос password, вставьте пароль root, скопированный со страницы сервера.

В окнах Windows Terminal и PowerShell вставка делается правым щелчком мыши или сочетанием Ctrl+Shift+V. Пароль при вводе не отображается на экране, это нормально, поэтому вставьте его один раз и нажмите Enter. Когда приглашение примет вид root@имя-сервера:~#, подключение выполнено.

Шаг 3. Выполните первые команды

Сразу после подключения полезно обновить систему. В Ubuntu и Debian выполните apt update && apt upgrade -y, в AlmaLinux и Rocky Linux dnf upgrade -y. Создание обычного пользователя и порядок обновления подробно описаны в руководстве по первому входу. Закончив работу, завершите сеанс командой exit.

Вход по SSH ключу без пароля из PowerShell

С SSH ключом не нужно каждый раз вставлять пароль, а защита от подбора пароля становится гораздо надёжнее. В Windows ключ создаётся той же командой ssh-keygen.

PowerShell
ssh-keygen -t ed25519

Когда спросят место сохранения, нажмите Enter, чтобы оставить значение по умолчанию; парольную фразу ключа (passphrase) рекомендуем задать. В папке C:\Users\YourName\.ssh появятся два файла. id_ed25519 это закрытый ключ, который остаётся только на вашем компьютере, а id_ed25519.pub открытый ключ, который добавляется на сервер. Просмотрите и скопируйте открытый ключ командой ниже.

PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Для нового сервера вставьте открытый ключ в меню SSH ключей в аккаунте и выберите его при создании сервера: тогда вход по ключу работает с самого начала. Порядок описан в руководстве по SSH ключам. На уже работающий сервер открытый ключ добавляется одной командой ниже. Пароль root при этом нужно ввести один раз.

PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Если серверов несколько, удобно сохранить параметры подключения под именами. Создайте в Блокноте файл C:\Users\YourName\.ssh\config и запишите в него строки, как ниже, и подключение будет выполняться одним словом ssh myvps.

C:\Users\YourName\.ssh\config
Host myvps
    HostName YOUR_SERVER_IP
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30

ServerAliveInterval 30 отправляет сигнал каждые 30 секунд, и соединение не обрывается, даже если вы ненадолго отошли.

Способ 2. Подключение через PuTTY

PuTTY это бесплатная SSH программа, которой давно пользуются в Windows. Если вам удобно сохранять подключения под именами и открывать их двойным щелчком, PuTTY отлично подойдёт. Скачайте 64-битный установщик (MSI) с официального сайта (putty.org): вместе с PuTTY установится PuTTYgen для создания ключей.

Шаг 1. Введите и сохраните параметры подключения

  • При запуске PuTTY открывается экран Session.
  • Введите IPv4 адрес сервера в Host Name, 22 в Port, а Connection type оставьте SSH.
  • Слева в Connection > Data укажите root в поле Auto-login username.
  • Если в Connection ввести 30 в поле Seconds between keepalives, соединение будет держаться дольше.
  • Вернитесь на экран Session, введите имя в Saved Sessions (например, myvps) и нажмите Save.

Шаг 2. Подключитесь

Выберите сохранённое имя и нажмите Open. В первый раз появится окно проверки отпечатка сервера; нажмите Accept, и отпечаток сохранится. Когда появится поле password, вставьте пароль root правым щелчком мыши и нажмите Enter. В PuTTY правый щелчок вставляет текст, а выделение текста мышью сразу копирует его.

Шаг 3. SSH ключ через PuTTYgen

Откройте PuTTYgen, выберите тип ключа EdDSA (Ed25519), нажмите Generate и водите мышью по пустому полю, пока не заполнится индикатор. Задайте Key passphrase и сохраните закрытый ключ в файл .ppk кнопкой Save private key.

Строка в поле Public key for pasting into OpenSSH authorized_keys file в верхней части окна это открытый ключ. Добавьте эту строку в меню SSH ключей в аккаунте или вставьте в конец файла ~/.ssh/authorized_keys на уже работающем сервере. Затем в PuTTY в разделе Connection > SSH > Auth > Credentials выберите файл .ppk в поле Private key file for authentication и снова нажмите Save на экране Session: теперь вход будет без пароля.

Чтобы использовать в PuTTY ключ OpenSSH, созданный в PowerShell, загрузите id_ed25519 через Conversions > Import key в PuTTYgen и сохраните его как .ppk. Один ключ подойдёт для обеих программ.

Передача файлов между Windows и сервером

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

PowerShell
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\

Чтобы передать папку целиком, добавьте scp -r. Если удобнее перетаскивать файлы, как в Проводнике, укажите тот же адрес, порт 22 и пользователя root в SFTP программе, например WinSCP. WinSCP умеет сразу загружать сессии и ключи .ppk, сохранённые в PuTTY.

Что проверить, если подключиться не удаётся

Обычно причина в одном из четырёх пунктов ниже, и, проверив их по порядку, вы быстро подключитесь снова.

  • Connection timed out: сначала проверьте, что сервер в статусе «Работает» и IP адрес указан верно. Если включён файрвол, в нём должен быть разрешён SSH (порт 22). Сети в офисе или учебном заведении иногда блокируют порт 22, поэтому попробуйте другую сеть, например раздачу интернета с телефона.
  • Permission denied: скопируйте пароль заново и вставьте его один раз. Проверьте, не скопировались ли лишние пробелы в начале или в конце. Если прошло 7 дней и пароль больше не отображается, получите новый через создание нового пароля root на странице сервера.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: это сообщение появляется после переустановки сервера, потому что отпечаток сервера создаётся заново. Удалите сохранённый старый отпечаток командой ssh-keygen -R YOUR_SERVER_IP и подключитесь снова.
  • Connection refused: служба SSH на сервере остановлена или порт был изменён. Если вы меняли порт, подключайтесь командой ssh -p PORT root@YOUR_SERVER_IP.

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

Что стоит сделать дальше

Когда вход по SSH ключу работает, отключите вход по паролю, чтобы лучше защитить сервер. Сначала убедитесь, что вход по ключу работает, затем в файле /etc/ssh/sshd_config на сервере измените PasswordAuthentication на no и перезапустите службу SSH. В Ubuntu и Debian это systemctl restart ssh, в AlmaLinux systemctl restart sshd.

Если вы планируете запускать сайт или приложение, переходите к руководству по установке Docker или руководству по установке WordPress. Если для работы нужен именно рабочий стол Windows, лучше подойдёт Windows VPS с подключением по удалённому рабочему столу.

Полезные руководства по теме

Настройки, которые стоит сделать вслед за этим руководством.

Все руководства