Два способа зайти на сервер из Windows: клиент ssh в PowerShell и PuTTY. От первого входа по паролю до входа по ключу без пароля.

SSH - это способ управлять сервером из командной строки. Разберём, как подключиться к серверу через PuTTY и через встроенный в Windows клиент ssh (он работает в PowerShell и Windows Terminal). Оба способа делают одно и то же - ниже оба, от первого входа по паролю до входа по ключу без пароля.

Коротко. Возьмите в панели IP-адрес сервера и пароль root. Встроенный клиент: ssh root@IP, подтвердите отпечаток, введите пароль. Затем создайте ключ ssh-keygen и скопируйте его на сервер - пароль больше не понадобится. В PuTTY то же самое: адрес в поле Host Name, ключ в разделе Auth.

Что нужно перед началом

Откройте в панели страницу вашего сервера. Там есть IPv4-адрес и пароль пользователя root - это данные для входа. Пароль скопируйте сразу: при вводе в терминал он не отображается. Если сервера ещё нет, сначала закажите его по инструкции «Как заказать первый VPS».

Путь A. Подключение через встроенный клиент Windows (PowerShell / Windows Terminal)

В Windows 10 и 11 клиент SSH уже установлен. Отдельная программа не нужна: открываете Terminal или PowerShell и работаете. Везде ниже 203.0.113.10 - это пример, подставьте IP своего сервера.

Шаг 1. Проверить, что клиент на месте

Откройте PowerShell (или Windows Terminal) и наберите:

ssh -V

Ответ вида OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2 - клиент есть. Если пишет, что команда не найдена: Параметры -> Приложения -> Дополнительные компоненты -> Добавить компонент -> «Клиент OpenSSH».

Шаг 2. Первое подключение по паролю

Подключаемся под root по адресу из панели:

ssh [email protected]

В самый первый раз клиент показывает отпечаток ключа сервера и просит подтверждение:

The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:cKeo+ciXwbZg9QmHHyE95H852Bl2tZtd7O48ewydBC8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Это защита от подмены сервера. Сверьте отпечаток с тем, что показывает панель, наберите yes - отпечаток запомнится и больше спрашиваться не будет. Затем введите пароль root (символы при вводе не появляются - это нормально) и нажмите Enter. Вы на сервере.

Шаг 3. Создать ключ, чтобы не вводить пароль

Ключ - это пара файлов на вашем компьютере. Закрытый остаётся у вас, открытый кладётся на сервер; кто предъявил закрытый ключ, того сервер и пускает. Перебрать ключ нельзя, пароль больше не нужен. Создаём пару на своём компьютере:

ssh-keygen -t ed25519 -C "you@laptop"

На все три вопроса можно нажать Enter. Passphrase (пароль на сам ключ) ставить не обязательно, но с ним надёжнее, если ноутбук потеряется. Появятся два файла в C:\Users\Имя\.ssh: id_ed25519 - закрытый, никому не передавать; id_ed25519.pub - открытый, идёт на сервер.

Шаг 4. Скопировать открытый ключ на сервер

Команды ssh-copy-id в Windows нет, поэтому копируем одной строкой: читаем локальный .pub-файл и дописываем его в authorized_keys на сервере.

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys"

Пароль root спросят в последний раз.

Шаг 5. Вход по ключу

Подключаемся снова:

ssh [email protected]

Теперь вход происходит сразу, без запроса пароля.

Шаг 6. Короткое имя вместо IP

Чтобы не печатать адрес и имя пользователя каждый раз, опишите сервер в файле %USERPROFILE%\.ssh\config (создайте, если его нет):

Host web-01
    HostName 203.0.113.10
    User root
    IdentityFile ~/.ssh/id_ed25519

После этого достаточно:

ssh web-01

Путь B. Подключение через PuTTY

PuTTY - бесплатная программа с putty.org. Удобна тем, что все настройки в одном окне и сохраняются профилем. При установке ставятся и вспомогательные puttygen.exe (генератор ключей) и plink.exe (тот же клиент для командной строки). Если подключиться через PuTTY не удаётся, смотрите раздел «Частые ошибки» ниже.

Шаг 1. Session: адрес и порт

В поле Host Name (or IP address) впишите IP из панели, Port оставьте 22, тип соединения - SSH.

Шаг 2. Сохранить профиль

Впишите имя в поле Saved Sessions и нажмите Save. В следующий раз выберете профиль из списка и нажмёте Load.

Шаг 3. Имя пользователя

Слева раскройте Connection -> Data, в поле Auto-login username впишите root (или имя вашего пользователя) - тогда PuTTY не будет спрашивать логин при каждом входе.

Шаг 4. Ключ вместо пароля

PuTTY использует свой формат ключа - .ppk. Запустите PuTTYgen, нажмите Generate, подвигайте мышью в окне для случайности, затем Save private key. Текст из верхнего поля PuTTYgen (открытый ключ) скопируйте на сервер в authorized_keys - как в шаге 4 пути A.

Затем в PuTTY: Connection -> SSH -> Auth -> Credentials, поле Private key file for authentication - укажите сохранённый .ppk.

Шаг 5. Первое подключение

Нажмите Open. При первом соединении PuTTY покажет Security Alert с отпечатком ключа сервера - тот же контроль подлинности, что и yes во встроенном клиенте. Сверьте отпечаток с панелью и нажмите Accept.

Если PuTTY уже настроен, из PowerShell можно подключаться и без окна:

plink -ssh [email protected]

Первый раз спросит Store key in cache? (y/n) - нажмите y, затем введите пароль (или сработает ключ, если он указан в профиле).

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

  • Connection timed out - до сервера не доходит: неверный IP, сервер выключен или порт закрыт файрволом. Проверьте адрес в панели и состояние сервера.
  • Connection refused - сервер отвечает, но на 22-м порту никто не слушает: sshd не запущен или SSH на другом порту. Зайдите через веб-консоль в панели.
  • Permission denied (publickey,password) - неверный пароль либо вход по паролю выключен, а ключ не подхватился. Проверьте на сервере права: ~/.ssh - 700, authorized_keys - 600.
  • REMOTE HOST IDENTIFICATION HAS CHANGED - ключ сервера изменился (обычно после переустановки ОС). Удалите старую запись командой ssh-keygen -R 203.0.113.10 и подключитесь заново.

Вопросы и ответы

Нужен ли PuTTY в Windows 10 и 11?

Нет. В Windows 10 и 11 уже есть встроенный клиент OpenSSH - команда ssh в PowerShell или Windows Terminal. PuTTY ставят, когда нужен графический интерфейс с сохранёнными профилями подключений.

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

Проверьте IP-адрес и порт 22 в поле Host Name, статус сервера в панели и сообщение об ошибке. Разбор частых сообщений («Connection timed out», «Connection refused», «Permission denied») - в разделе «Частые ошибки». Если SSH недоступен совсем, зайдите на сервер через веб-консоль в панели.

PuTTY или встроенный клиент - что выбрать?

Для разовых задач - встроенный ssh: он уже есть и работает так же, как в macOS и Linux. PuTTY удобнее, когда серверов много и нужны профили с сохранёнными настройками.

Где в Windows лежат ключи?

В папке C:\Users\Имя\.ssh. Встроенный клиент ищет их там сам. Для PuTTY нужен файл .ppk, путь к нему задаётся в настройках профиля.

Можно ли ключ из встроенного клиента использовать в PuTTY?

Да. Откройте id_ed25519 в PuTTYgen (Conversions -> Import key) и сохраните как .ppk.

Нужно ли менять пароль root после настройки ключа?

Пароль root в панели остаётся - он нужен для веб-консоли. А вход по паролю в SSH после настройки ключа стоит выключить на стороне сервера.

Коротко

  • IP и пароль root - на странице сервера в панели.
  • Встроенный клиент: ssh root@IP, подтвердить отпечаток, ввести пароль.
  • Ключ: ssh-keygen -t ed25519, затем скопировать id_ed25519.pub в authorized_keys на сервере - вход без пароля.
  • PuTTY: адрес в Session, логин в Connection > Data, ключ .ppk в SSH > Auth > Credentials.
  • Отпечаток при первом подключении сверяйте с панелью - это защита от подмены сервера.
  • ~/.ssh/config - чтобы вместо длинной команды писать ssh web-01.