yandex
Поиск
Связаться с нами

От новичка до профессионала: генерация 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

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