yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

От новичка до профессионала: генерация SSH-ключей на Windows

Подробно рассказываем, что такое CDN и как она используется. Разбираемся, нужна ли она вашему бизнесу и как правильно выбрать партнера, чтобы получить удовольствие и повышение прибыли в процессе работы.

Инструкции
Иллюстрация для статьи на тему «От новичка до профессионала: генерация SSH-ключей на Windows»
Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys

Заголовок

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

Что такое SSH-ключи

SSH (Secure Shell) — криптографический сетевой протокол, способ безопасной связи между двумя компьютерами. Представьте себе секретный туннель, по которому можно передавать данные так, чтобы никто посторонний не мог их увидеть или изменить. Этот туннель и есть SSH.

SSH-ключи (Secure Shell Key) — пара специальных цифровых кодов, которые используются вместо паролей. Пароли нужно запоминать и вводить каждый раз при входе, а SSH-ключи хранятся в файле на компьютере. Их не надо запоминать и вводить, а сами ключи длинные и могут дополнительно защищаться паролями, что снижает вероятность взлома.

Протокол SSH широко применяют там, где важна безопасность и конфиденциальность данных. Вот несколько примеров:

  • Удаленное управление. Программисты и сисадмины используют SSH, чтобы удаленно управлять веб-серверами, базами данных или другими компьютерами.

  • Передача файлов. Через SSH удобно отправлять важные документы и файлы на сервер, так как их никто не перехватит.

  • Создание защищенных каналов. Можно настроить безопасный канал для работы с веб-сайтами или корпоративными ресурсами, минуя нежелательные блокировки и фильтры. Например, SSH поддерживает проброс портов, который позволяет безопасно получать доступ к внутренним службам.

  • Автоматизация задач. Допустим, у вас есть программа-робот, которой нужно автоматически соединяться с другим сервером и что-то делать, например, создавать бэкапы. Для этого программа использует SSH-ключ.

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Принцип работы SSH-ключей

SSH-ключ — это пара специальных цифровых кодов:

  1. Приватный, или закрытый ключ хранится только у вас. Его нельзя показывать никому, иначе ключ перестанет быть безопасным.

  2. Публичный, или открытый ключ — часть, которую вы предоставляете серверу или устройству, к которому надо получить доступ. Без приватного ключа публичный бесполезен.

Как это работает:

  1. Вы создаете пару ключей. Приватный оставляете себе, а публичный отправляете на сервер.

  2. Когда вы пытаетесь войти, сервер проверяет, есть ли в файле .ssh/authorized_keys открытый ключ. Если есть, сервер генерирует случайное число, шифрует его открытым ключом и отправляет вам.

  3. На стороне пользователя сообщение от сервера расшифровывается закрытым ключом, результат направляется на сервер.

  4. Сервер проверяет, совпадает ли результат с числом, которое он зашифровал. Если все совпало, аутентификация будет пройдена.

Храните открытый SSH-ключ в облаке с Evolution SSH Keys
Храните открытый SSH-ключ в облаке с Evolution SSH Keys
Обезопасьте виртуальную машину от злоумышленников — установите вход по SSH-ключам. Публичный ключ храните в облаке Cloud.ru, приватный — у себя на устройстве.
Узнать больше

Подготовка к созданию SSH-ключей на Windows

Установка OpenSSH-клиента

OpenSSH-клиент — встроенный инструмент Windows, который нужен для безопасного подключения к удаленным серверам и устройствам через SSH. Начиная с Windows 10 версии 1809 и выше, клиент предустановлен, но зачастую требует активации.

Как проверить, есть ли на устройстве OpenSSH-клиент. Есть два способа: через PowerShell или графический интерфейс Windows. Расскажем о каждом из методов.

1. Через PowerShell. Откройте его от имени администратора и выполните команды:

Если вы видите строку с состоянием State: Installed, значит клиент установлен. Если отображено State: Not Present, OpenSSH не установлен.

Строка без клиентаЧто вернет строка, если клиент отсутствует

2. Через интерфейс. Откройте ПараметрыПриложенияДополнительные компоненты. Просмотрите список установленных компонентов. Если в списке есть OpenSSH Client, значит OpenSSH загружен.

Если клиента нет, вы можете установить его одним из следующих способов:

  1. Через интерфейс. Перейдите в ПараметрыПриложенияДополнительные компонентыДобавить компонент. Найдите в списке OpenSSH Client и нажмите Установить.

  2. Через PowerShell. Запустите PowerShell от имени администратора и выполните команду:

Что должны вернуть обе команды Что должны вернуть обе команды после выполнения

Альтернатива OpenSSH: установка PuTTY

PuTTY — это бесплатный и популярный SSH-клиент для Windows, который позволяет безопасно подключаться к удаленным серверам и управлять ими. Ниже — инструкция по установке и первоначальной настройке PuTTY.

1. Перейдите на сайт PuTTY и выберите версию для вашей операционной системы.

2. Нажмите на ссылку для скачивания. Браузер загрузит файл с расширением .msi.

3. Откройте скачанный файл и следуйте инструкции по установке.

4. На экране выбора компонентов убедитесь, что отмечены все нужные утилиты:

  • PuTTYgen — генератор SSH-ключей,

  • PSCP — утилита для передачи файлов по SSH,

  • Plink — командная строка для автоматизации SSH-подключений,

  • Pageant — SSH-агент для хранения ключей в памяти.

5. После установки найдите PuTTY в меню Пуск или на рабочем столе. В поле Host Name или IP address введите IP-адрес или доменное имя удаленного сервера.

6. Убедитесь, что выбран тип подключения SSH и порт 22 — это стандартный порт для SSH.

7. Сохраните сессию и дайте ей имя, например, «Мой сервер». Это пригодится, чтобы в дальнейшем быстрее подключаться.

8. Нажмите Open, чтобы подключиться к серверу.

9. При первом подключении система спросит подтверждение подлинности сервера. Для этого нажмите Да.

10. Введите логин и пароль для входа на сервер.

Документация PuTTYВы можете познакомиться с документацией клиента на официальном портале PuTTY

Генерация SSH-ключей с OpenSSH

Рассказываем, как создать приватный и публичный SSH-ключи на Windows, а также как их использовать.

Как генерировать SSH-ключи с OpenSSH:

1. Откройте командную строку (cmd.exe) или PowerShell.

 2. Введите команду:

3. Согласитесь с предложением сохранить ключ в стандартной директории, обычно это C:/Users/YourUsername/.ssh/. Если нужен ключ с другим именем, нужно явно прописать путь:

Сохранение ключа

4. Задайте фразу-пароль (passphrase). Это опционально — если хотите пропустить этап, просто нажмите Enter. Рекомендуем все же установить passphrase, чтобы дополнительно защитить ключи.

5. Создадутся два ключа: приватный (id_ed25519) и публичный (id_ed25519.pub). Они сохранятся в C:/Users/YourUsername/.ssh/.

Чтобы использовать публичный ключ, его нужно разместить на удаленном сервере в файле ~/.ssh/authorized_keys. Сделать это можно двумя способами:

1. Скопировать ключ вручную через редактор. В PowerShell выполните команду:

Далее скопируйте все содержимое файла, которое начинается с ssh-ed25519...

2. Если уже есть доступ к нужному серверу, используйте команду:

Поручите генерацию SSH-ключа AI-помощнику Клаудии
Поручите генерацию SSH-ключа AI-помощнику Клаудии
Клаудия поможет создать виртуальную машину, подберет нужную конфигурацию, ответит на вопросы по документации, задаст SSH-ключ и запросит от него пароль.
Что еще умеет Клаудия

Генерация SSH-ключей с PuTTY

Для создания ключей нужна утилита PuTTYgen — она устанавливается вместе с основным пакетом PuTTY. При установке проследите, чтобы напротив нужных приложений стояли галочки, допустим, рядом с PuTTYgen, Plink или Pageant. 

Как сгенерировать SSH-ключи в PuTTYgen:

  1. Запустите приложение через меню Пуск или файл puttygen.exe.

  2. Выберите тип алгоритма шифрования. Рекомендуем RSA, это широко распространенный и поддерживаемый алгоритм. Альтернатива — современный и быстрый алгоритм EdDSA, правда, он поддерживается не всеми серверами.

  3. Установите длину ключа. Для RSA задайте значение Number of bits не менее 2 048 бит, для повышенной безопасности — 4 096 бит. Для EdDSA советуем выбрать Ed25519.

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

  5. В поле Key comment введите понятное название или комментарий, который поможет вам идентифицировать ключ. Можно указать, например, название проекта или сервера, к которому нужен доступ.

  6. Задайте сильную и уникальную фразу-пароль в поле Key passphrase. Это опционально. Пароль усилит безопасность, но его нужно будет вводить при каждом использовании ключа.

  7. Сохраните приватный ключ — нажмите Save private key. Программа предложит выбрать формат файла: советуем PPK, это собственный формат PuTTY, который подходит для использования в приложении. Другие форматы выбирайте при особой необходимости — допустим, если нужен доступ к GitLab, который требует ключи в формате OpenSSH. Никому не передавайте приватный ключ и сохраните его в надежном месте, например в C:\Users\YourUsername\.ssh\ или папке, путь к которой вы прописали при установке.

  8. Нажмите Save public key, чтобы отдельно сохранить публичный ключ. Назначьте понятное имя файла и сохраните его рядом с приватным ключом.

Как использовать ключи с PuTTY:

  1. Откройте PuTTYgen, выделите и скопируйте публичный ключ из Public key for pasting into OpenSSH authorized_keys file.

  2. Подключитесь к серверу через PuTTY.

  3. На сервере откройте файл ~/.ssh/authorized_keys, введите туда скопированный публичный ключ. Если файла нет, создайте его — введите в терминале на сервере:

4. Установите права на использование ключа только для себя:

Советы по безопасности

Чтобы защитить ваши SSH-ключи, рекомендуем соблюдать несколько советов:

  • Устанавливайте passphrase на приватный ключ. Даже если кто-то получит к нему доступ, без пароля файлом ключа не воспользуются.

  • Сохраняйте права доступа к ключу только у себя (команда chmod 600).

  • Храните приватные ключи на своем компьютере.

  • Используйте разные ключи для разных целей. Например, один для GitHub, второй для рабочих серверов, третий — для личных. Если будет скомпрометирован один ключ, остальные останутся в безопасности.

  • Регулярно делайте бэкапы ключей.

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

Что касается настроек не ключей, а SSH-сервера, по возможности не используйте стандартный порт 22. Он относится к well-known портам (порты с 0 до 1023), которые зарезервированы для стандартных системных служб и популярных сетевых протоколов. Используйте любой незанятый номер порта, начинающийся с 1024, к примеру, 2233.

Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys
28 сентября 2025

Вам может понравиться