Последнее обновление 21.01.2024 — Иван Катанаев
Быстрые ссылки
- Как сгенерировать SSH-ключ в Windows
- Генерация ключа SSH с помощью командной строки
- Генерация ключа SSH с использованием WSL
- Каковы различия между ключами RSA и Ed25519?
Ключевые выводы
- Создайте ключ SSH в Windows с помощью командной строки или WSL. Клиент OpenSSH в Windows 11 делает это простым и безопасным, хотя для этого требуется включить дополнительные функции в Windows 10.
- С помощью командной строки или WSL запустите «ssh-keygen» или «ssh-keygen -t ed25519» и введите место сохранения и парольную фразу (необязательно), чтобы сгенерировать ключ.
Ключ SSH (Secure Shell) — это учетные данные аутентификации, используемые с протоколом SSH для защиты передачи файлов, подключения сетей и управления большинством крупных облачных сервисов, таких как AWS. Вы можете генерировать их как пароли в Windows и создавать зашифрованные соединения — вот как.
Как сгенерировать SSH-ключ в Windows
Протокол Secure Shell (SSH) — лучший способ заблокировать небезопасное соединение между компьютерами через Интернет. Вам следует избегать использования протокола с именем пользователя и паролем и вместо этого выбрать криптографически сгенерированный ключ SSH.
Windows 11 поставляется со встроенным клиентом OpenSSH. Это позволяет легко генерировать ключи SSH без использования сторонней программы. В Windows 10 все должно работать так же; Если у вас возникли проблемы, откройте панель дополнительных функций Windows и включите опцию OpenSSH Client.
Существует два способа создания ключа SSH в Windows — командная строка и WSL (подсистема Windows для Linux). Начнем с первого метода.
Вы можете предпочесть терминал Windows, поскольку он обеспечивает унифицированную среду для интерфейсов командной строки. Он запускает командную строку, PowerShell и подсистему Windows для Linux в одном окне. Этот инструмент повышает универсальность и упрощает такие задачи, как генерация ключей SSH.
1. Генерация ключа SSH с помощью командной строки
Чтобы сгенерировать ключ SSH в Windows с помощью командной строки, выполните следующие действия:
- Запустите командную строку от имени администратора.
- В командной строке введите следующее и нажмите Enter:
ssh-keygen
- Система предложит вам ввести местоположение файла, в котором следует сохранить ключ.
- Нажмите Enter, чтобы сохранить ключ в папке по умолчанию (обычно C:\Users\ваше_имя_пользователя/.ssh/id_rsa). При необходимости вы также можете указать другое местоположение.
- Вам будет предложено ввести парольную фразу для ключа. Это необязательный шаг, но парольная фраза добавляет уровень безопасности вашему SSH-ключу и защищает его. Если вам не нужна парольная фраза, нажмите Enter.
- Повторно введите парольную фразу (если вы ее выбрали) и нажмите Enter. Если вы не ввели парольную фразу, нажмите Enter еще раз.
Теперь система сгенерирует ваш SSH-ключ и предоставит вам отпечаток пальца и местоположение ключа. Вы также можете просмотреть пару ключей в сохраненном месте.
Помимо ключей RSA, с его помощью вы также можете генерировать ключи Ed25519. Процесс очень похож, с небольшими изменениями в командной строке. Вместо выполнения с помощью ssh-keygen выполните следующую команду:
ssh-keygen -t ed25519
Остальные шаги такие же, как и при создании ключа RSA. Теперь вам нужно будет ввести местоположение файла и установить парольную фразу (при желании), и система сгенерирует ключ с отпечатком пальца и местоположением.
Полученный вами отпечаток ключа является идентификатором вашего SSH-ключа. Вы можете использовать его для подтверждения подлинности при подключении к удаленному серверу. Когда вы генерируете ключ SSH, генерируются два ключа — закрытый и открытый ключ. Вы можете отличить эти два ключа по их расширениям. Закрытый ключ не имеет расширения, а открытый ключ заканчивается расширением .pub.
Закрытый ключ используется для шифрования и дешифрования и должен храниться в тайне. С другой стороны, открытый ключ используется только для шифрования, и его передача другим не ставит под угрозу конфиденциальность закрытого ключа.
2. Генерация SSH-ключа с использованием WSL
Второй метод создания ключа SSH — через подсистему Windows для Linux (WSL). Но зачем вам выбирать WSL, если у вас уже есть командная строка Windows?
WSL предоставляет полную среду Linux в Windows для запуска команд Linux без установки отдельной ОС. Это полезно для разработчиков и системных администраторов, работающих с Windows и Linux.
Если у вас возникли проблемы с этим, ознакомьтесь с нашим руководством по включению WSL в Windows.
Для начала выполните следующие действия:
- Запустите терминал WSL.
- Чтобы сгенерировать ключ RSA-4096, введите следующую команду и нажмите Enter:
ssh-keygen -t rsa -b 4096
- Чтобы сгенерировать ключ Ed25519, измените команду соответствующим образом:
ssh-keygen -t ed25519
- Вы также можете добавить свой адрес электронной почты в конце команды. Это похоже на комментарий, который помогает легко определить, какой ключ принадлежит какой учетной записи, если вы создаете несколько ключей для разных сайтов. Например, ssh-keygen -t rsa -b 4096 -C «[email protected]».
- Выберите местоположение для ключа или нажмите Enter, чтобы использовать местоположение по умолчанию.
- Терминал предложит вам выбрать пароль. Это необязательно, поэтому при желании вы можете оставить это поле пустым. Нажмите Enter, чтобы продолжить.
Наконец, вы увидите сообщение с местоположением и отпечатком вашего вновь сгенерированного ключа SSH. Теперь вы можете использовать этот ключ для защиты соединений между вашим компьютером и удаленными серверами.
Каковы различия между ключами RSA и Ed25519?
В приведенных выше шагах мы обсудили два типа ключей SSH: RSA и Ed25519. Но чем они отличаются?
- Алгоритм: RSA (Ривест-Шамир-Адлеман) использует асимметричное шифрование, а Ed25519 использует как эллиптические кривые, так и асимметричное шифрование.
- Размер ключа: ключи RSA имеют переменный размер ключей от 1024 до 4096 бит. Ed25519 имеет фиксированный размер ключа 256 бит, что делает его быстрее, чем RSA.
- Безопасность: Ed25519 обычно считается более безопасным и устойчивым к атакам.
- Производительность: Ed25519 быстрее и эффективнее RSA.
- Совместимость: RSA поддерживается более широко, но распространение Ed25519 растет.
В конечном итоге вы можете использовать любой криптографический алгоритм в зависимости от вашей системы. Генерировать ключи SSH легко с помощью методов, доступных в Windows, и его следует учитывать из-за серьезных онлайн-рисков при доступе к удаленным системам.