EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

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

PuTTY это бесплатный SSH-клиент для Windows. В руководстве описано подключение к Linux VPS с машины на Windows по SSH-ключу вместо пароля, от загрузки PuTTY до первого успешного входа. Вам понадобится адрес сервера, SSH-аккаунт на нём и пара SSH-ключей.

Уровень подготовки: начальный
Примерное время: около 20 минут
Итоговая цель: к концу руководства вы входите на свой Linux VPS с Windows через PuTTY и SSH-ключ, не вводя пароль учётной записи.

Что делают SSH и PuTTY

Secure Shell (SSH) это сетевой протокол для работы на удалённой машине через недоверенную сеть. Он шифрует всю сессию, опознаёт сервер до того, как вы отправите ему хоть что-то, и принимает в качестве доказательства вашей личности либо пароль, либо ключ. На Linux VPS серверную часть SSH обычно обслуживает демон OpenSSH, который слушает TCP-порт 22.

PuTTY это бесплатный SSH-клиент для Windows и одновременно то терминальное окно, в котором вы работаете после подключения. Текущий релиз 0.84. Один момент избавляет от путаницы дальше: установщик для Windows уже содержит PuTTYgen, утилиту, которая в этом руководстве создаёт и конвертирует ключи, поэтому PuTTYgen никогда не качают отдельно. Тот же пакет ставит утилиты передачи файлов PSCP и PSFTP, консольный интерфейс Plink и агент аутентификации Pageant.

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

Соберите всё перечисленное до начала работы:

  • Публичный IP-адрес сервера, ниже он обозначен как <YOUR_SERVER_IP>
  • Имя SSH-аккаунта на сервере, ниже оно обозначено как <YOUR_USERNAME>
  • SSH-порт, обычно 22, если провайдер или вы сами не задали другой
  • Файл приватного ключа на машине с Windows, в формате PuTTY (.ppk) или в формате OpenSSH
  • PuTTY 0.84 на Windows 10, Windows 11, Windows Server 2022 или Windows Server 2025. Установка описана в следующем разделе
  • Linux VPS с запущенным сервером OpenSSH и доступный по сети. Серверные команды ниже подходят для Ubuntu 24.04 LTS и 26.04 LTS, Debian 12 и 13, AlmaLinux 9 и 10, а также других дистрибутивов с OpenSSH
  • Один рабочий способ войти, если публичного ключа на сервере ещё нет: сессия по паролю, другой ключ или консоль в панели провайдера
  • Около 20 минут и знание Linux-шелла на базовом уровне

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

Warning

Никогда не загружайте, не отправляйте почтой и не вставляйте приватный ключ на сервер или на любую другую машину. Ваш компьютер покидает только публичный ключ. Файл приватного ключа, попавший туда, где вы не распоряжаетесь доступом, считается скомпрометированным, и правильная реакция это заменить пару.

Установка PuTTY

Скачивайте PuTTY только у самого проекта. putty.software это короткий официальный домен проекта, он перенаправляет на страницы загрузки автора на chiark.greenend.org.uk.

Warning

putty.org и puttygen.com не относятся к проекту и не поддерживаются командой PuTTY. Ничто не гарантирует, что файлы с этих адресов и есть то программное обеспечение, которое выпустили авторы.

Берите MSI-установщик для Windows под свою разрядность. Сборка для 64-bit x86, putty-64bit-0.84-installer.msi, подходит почти любой современной машине. Сборка для 32-bit x86 существует для старого железа и старых версий Windows, а отдельная сборка Arm64 закрывает Windows-устройства на процессорах Arm.

Запустите скачанный файл .msi. Нажмите Next на приветственной странице, оставьте папку установки по умолчанию, оставьте набор компонентов по умолчанию и нажмите Install. Подтвердите запрос администратора Windows, если он появится, затем закройте мастер кнопкой Finish.

В меню «Пуск» теперь есть пункты PuTTY и PuTTYgen, а вместе с ними установлены и перечисленные выше утилиты.

Info

Проект также публикует актуальные установщики в Microsoft Store, обычно через несколько дней после релиза. Оба источника дают одну и ту же сборку.

Проверка или конвертация SSH-ключа

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

Если у вас уже есть файл .ppk

Конвертировать нечего. Запомните, где лежит файл, и переходите к настройке PuTTY ниже.

Если ключ в формате OpenSSH

Ключи, созданные через ssh-keygen, носят имена вида id_rsa или id_ed25519, обычно без расширения, и PuTTY не читает их напрямую. Такой ключ конвертируют один раз, а дальше работают с результатом.

Запустите PuTTYgen и нажмите Load. Диалог выбора файла открывается с фильтром по приватным ключам PuTTY, который скрывает всё, что не оканчивается на .ppk, поэтому переключите фильтр на All Files прежде, чем искать свой ключ. Выберите файл приватного ключа и введите его passphrase, если она задана. PuTTYgen сообщает, что ключ не в родном формате, и всё равно загружает его. Нажмите Save private key, задайте имя файла и оставьте расширение .ppk. Passphrase переходит без изменений, если вы намеренно не введёте новую.

В меню Conversions та же операция вынесена отдельной командой Import key. Оба пути дают одинаковый файл .ppk.

Если ключа пока нет

Создайте пару в PuTTYgen. Оставьте тип ключа RSA с длиной 2048 бит или больше либо выберите EdDSA с длиной 255 бит для ключа Ed25519, затем нажмите Generate. Водите указателем мыши по пустой области окна, пока полоса прогресса не заполнится: PuTTYgen собирает случайность из этих движений. Когда ключ появится, введите passphrase в поле Key passphrase, повторите её в Confirm passphrase и сохраните обе половины кнопками Save public key и Save private key.

Info

PuTTY работает с ключами RSA и Ed25519, а также с ECDSA и DSA. На скриншотах этого руководства показан ключ RSA. Для новой пары на современных системах Ed25519 хороший выбор по умолчанию.

Добавление публичного ключа на сервер

Пропустите этот раздел, если провайдер уже положил ключ в учётную запись или если пара создавалась для этого сервера. Иначе вам нужен один рабочий способ войти: сессия по паролю, другой ключ или консоль провайдера.

Откройте сессию от той учётной записи, которая будет пользоваться ключом, и подготовьте каталог:

mkdir -p ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chown -R <YOUR_USERNAME>:<YOUR_USERNAME> ~/.ssh

Команды создают ~/.ssh и пустой authorized_keys, если чего-то из этого нет, а затем выставляют владельца и права, которых требует OpenSSH. Для обычной учётной записи вида admin или ubuntu полный путь выглядит как /home/ /.ssh/authorized_keys. Для учётной записи root это /root/.ssh/authorized_keys. Следите за именем каталога: .ssh, с точкой в начале и без пробелов в пути.

Откройте файл на редактирование:

nano ~/.ssh/authorized_keys

Переключитесь в окно PuTTYgen, выделите всё содержимое поля с подписью Public key for pasting into OpenSSH authorized_keys file и скопируйте его. Вернувшись в терминал, вставьте текст последней строкой файла. Правый щелчок мышью вставляет содержимое буфера обмена в окно PuTTY. Сохраните файл и закройте редактор.

Warning

Публичный ключ занимает ровно одну строку, от ssh-rsa или ssh-ed25519 до конца комментария ключа. Не разбивайте её, не давайте редактору переносить её и не добавляйте в эту строку никаких своих комментариев. Ключ, разорванный на строки или дополненный посторонними символами, отвергается, и сервер не сообщает ничего содержательнее отказа в ключе.

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

Настройка PuTTY

Запустите PuTTY. Первой открывается панель Session. Введите адрес сервера в поле Host Name (or IP address), задайте в Port значение 22 или тот порт, который слушает ваш сервер, и оставьте Connection type на SSH.

Теперь укажите PuTTY приватный ключ. В дереве слева раскройте Connection, затем SSH, затем Auth, затем Credentials и кнопкой Browse рядом с полем Private key file for authentication выберите свой файл .ppk. Это дерево слегка различается между версиями PuTTY, а в более старых релизах поле находится прямо на панели Auth, поэтому ориентируйтесь на название поля, а не на точный путь.

Сохранённая сессия окупает несколько секунд, потраченных на неё. Вернитесь на Session, введите имя в Saved Sessions и нажмите Save. Имя появляется в списке, а выбор его и кнопка Load восстанавливают адрес, порт и путь к ключу.

Подключение и вход

Нажмите Open. При первом подключении к серверу, которого PuTTY раньше не видел, программа останавливается и показывает ключ хоста этого сервера:

The host key is not cached for this server: <YOUR_SERVER_IP> (port 22) The server's ssh-ed25519 key fingerprint is: ssh-ed25519 255 SHA256:<FINGERPRINT_STRING>

Сравните отпечаток с тем, который провайдер опубликовал для сервера. More info... показывает полный публичный ключ, если сравнивать его удобнее. Когда отпечаток совпадает, нажмите Accept: PuTTY кеширует ключ, подключение продолжается, и для этого хоста вопрос больше не возникает. Connect Once подключает без кеширования. Cancel отменяет подключение, и это правильный выбор, когда отпечаток не совпадает ни с чем ожидаемым.

Warning

Предупреждение о ключе хоста при следующем подключении к тому же серверу, в более резкой формулировке про возможное нарушение безопасности, означает, что сервер предъявил другой ключ. Так ведёт себя переустановленный сервер, и это законно. Так же ведёт себя атакующий, перенаправивший ваше соединение. Выясните, какой из двух случаев ваш, прежде чем что-либо набирать в окне.

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

login as:

Введите имя учётной записи и нажмите Enter. Дальше PuTTY использует настроенный ключ. Если у ключа есть passphrase, PuTTY запрашивает её в том же окне, и символы при вводе не отображаются.

Три вещи здесь легко перепутать:

  • Имя учётной записи определяет пользователя на сервере, root или обычную запись вида admin.
  • Passphrase ключа расшифровывает файл приватного ключа на вашей собственной машине, и сервер её никогда не видит.
  • Пароль учётной записи принадлежит записи на сервере. При работающей аутентификации по ключу он для входа не нужен.

Проверка того, что аутентификация по ключу работает

Отсутствие запроса пароля и есть подтверждение. Если сессия открывается после passphrase ключа или вообще без запросов, сервер принял ключ. Две команды показывают результат прямо:

whoami hostname

Ожидаемый вывод:

admin vps-01

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

Устранение неполадок

Проблема Причина Решение
Server refused our key Публичный ключ установлен для этой учётной записи неверно Проверьте, что в ~/.ssh/authorized_keys ключ лежит одной строкой, что на ~/.ssh права 700, на authorized_keys права 600 и что оба принадлежат этой учётной записи
No supported authentication methods available PuTTY нечего предложить в качестве ключа, а сервер не принимает пароли Задайте файл .ppk в Connection, SSH, Auth, Credentials
Access denied Имя учётной записи указано неверно Уточните имя записи на сервере. PuTTY не даёт исправить опечатку в той же сессии, поэтому закройте окно и подключитесь снова
Network error: Connection timed out Неверный адрес или порт либо фаервол отбрасывает трафик Проверьте IP-адрес и порт, затем проверьте фаервол на сервере и по пути до него
Network error: Connection refused На этом порту ничего не слушает, поскольку служба SSH остановлена или занимает другой порт Проверьте состояние службы SSH и порт, который она слушает, через консоль провайдера, если другого доступа нет
Passphrase отвергается Passphrase приватного ключа введена неверно Наберите её заново. Если не помогает, возьмите ключ с известной вам passphrase или создайте новую пару
Ключ работает в другом клиенте, но не в PuTTY Ключ в формате OpenSSH, а не .ppk Конвертируйте его в PuTTYgen, как описано выше

Безопасность SSH-ключей

  • Держите приватный ключ на своей машине и не передавайте его никому. Любой, у кого есть этот файл, войдёт как вы.
  • Защитите ключ passphrase и выберите такую, которой больше нигде не пользуетесь.
  • Храните файл ключа там, где его читает только ваша учётная запись, и включите его в личные резервные копии. Потерянный приватный ключ из публичной половины не восстановить.
  • Заводите отдельные ключи под отдельные серверы или роли там, где это практично, чтобы один утёкший ключ не открывал всё сразу.
  • Любое подозрение на утечку считайте фактом: создайте новую пару, установите новый публичный ключ и уберите старую строку из authorized_keys на каждом сервере.

Info

Когда аутентификация по ключу устойчиво работает, два изменения на стороне сервера дополнительно снижают риск: отключите аутентификацию по паролю в конфигурации OpenSSH и ограничьте SSH-порт в фаерволе теми адресами, с которых вы подключаетесь.

Откат изменений

Чтобы убрать ключ с сервера, сначала сохраните копию файла, затем удалите строку с публичным ключом:

cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak nano ~/.ssh/authorized_keys

Warning

Убедитесь, что другой способ войти ещё работает, прежде чем удалять ключ. Учётной записи, оставшейся без рабочего ключа и без входа по паролю, для восстановления понадобится консоль провайдера.

Чтобы удалить PuTTY из Windows, сначала очистите его сохранённые настройки, поскольку удаление программы их не затрагивает. Выполните следующее в командной строке или в диалоге «Выполнить» и подтвердите появившийся запрос:

putty.exe -cleanup

Затем откройте Settings, перейдите в Apps, затем в Installed apps, найдите в списке PuTTY и выберите Uninstall. Файл .ppk удалите сами, если ключ больше не нужен.

Заключение и дальнейшие шаги

Ваша машина с Windows теперь достаёт до Linux VPS через PuTTY по ключу вместо пароля, сессия сохранена для повторного использования, а ключ хоста сервера проверен и закеширован. Аутентификацию по паролю на сервере теперь можно выключить, и это убирает самый обстреливаемый вход в машину с публичным адресом. Pageant, установленный вместе с PuTTY, держит расшифрованный ключ на время сессии Windows и избавляет от ввода passphrase при каждом подключении. По смежным задачам смотрите Подключение через SSH про доступ по паролю, Изменение порта SSH про перенос службы с порта 22 и Подключение к серверу по SSH в macOS про ту же задачу из macOS.

Версия документа: 1.0
Обновлено: Август 2026
Владелец: Команда технической документации

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • kingdom
  • germany
  • Español
  • French
  • Hrvatska
  • Italiano
  • Poland
  • Slovenski
  • ukraine
  • Türkçe
  • Русский
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA