Реклама. АО «ТаймВэб». erid: LjN8KA7oE
SSH-ключи являются одним из самых безопасных методов аутентификации для удаленного подключения к серверам. Они обеспечивают более высокий уровень защиты сравнительно с паролями. Для создания SSH-ключей на Windows можно использовать как встроенные инструменты (такие как OpenSSH), так и сторонние программы (например, PuTTY).
В этой статье мы подробно рассмотрим, как сгенерировать SSH-ключ для Windows с использованием обоих методов, чтобы обеспечить надежное и безопасное соединение с удаленными серверами.
Что такое SSH-ключ
SSH-ключ – это пара криптографических ключей, которая состоит из открытого и закрытого ключа. Они используются для безопасного шифрования данных и аутентификации при установлении SSH-соединений.
Этот метод основывается на асимметричном шифровании, в котором ключи выполняют следующие функции:
- Открытый ключ отвечает за шифрование данных. Он размещается на сервере, к которому необходимо подключаться.
- Закрытый ключ нужен для расшифровки данных. Он всегда хранится на устройстве пользователя и может быть дополнительно защищен паролем для усиления безопасности.
Только владелец закрытого ключа может расшифровать данные, которые были зашифрованы с помощью соответствующего открытого ключа. Таким образом обеспечивается надежная аутентификация.
Сам процесс аутентификации осуществляется в такой последовательности:
- Генерация ключевой пары. Пользователь создает пару ключей, которая состоит из открытого и закрытого ключа. Закрытый ключ остается на компьютере пользователя и никогда не передается другим лицам или устройствам.
- Размещение открытого ключа на сервере. Открытый ключ добавляется в файл ~/.ssh/authorized_keys на сервере. Этот файл служит для проверки всех входящих запросов на соединение.
- Подключение к серверу. Когда пользователь инициирует подключение по SSH, сервер отправляет зашифрованное случайное сообщение, используя его открытый ключ.
- Аутентификация клиента. Устройство пользователя расшифровывает это сообщение с помощью закрытого ключа. Если расшифровка успешна, сервер подтверждает, что клиент действительно владеет закрытым ключом, и предоставляет доступ.
Этот процесс исключает необходимость передачи паролей через сеть, что значительно повышает уровень безопасности подключения.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
OpenSSH-клиент
С выходом Windows 10 Microsoft добавил встроенный OpenSSH-клиент, с помощью которого можно использовать SSH через командную строку или PowerShell без необходимости установки стороннего ПО.
Проверка и установка OpenSSH
Чтобы убедиться, что клиент OpenSSH уже установлен, в Windows 10 необходимо выполнить следующие действия:
-
Открыть Командную строку или PowerShell: нажать «Win + R», ввести «cmd» (для командной строки) или «powershell», и нажать Enter.
-
В открывшемся окне прописать команду
ssh -V
и нажать Enter.
Если в ответе будет отображена версия клиента, значит OpenSSH уже установлен.
В Windows 11 достаточно просто ввести «SSH» в поиске меню Пуск. Если система предложит опцию «SSH выполнить команду», значит OpenSSH-клиент уже установлен на вашем устройстве.
Если OpenSSH отсутствует, его можно добавить через настройки Windows:
- Откройте Параметры Windows.
- Перейдите в раздел «Приложения» и «Дополнительные компоненты».
- Нажмите на «Добавить компонент» и выберите «OpenSSH Client».
Генерация SSH-ключа
Для создания SSH-ключа введите следующую команду в PowerShell или командной строке:
ssh-keygen
После этого система предложит задать несколько параметров:
- Местоположение для хранения ключей. По умолчанию они будут сохранены в папке C:\Users\<Ваше_имя>\.ssh\id_rsa.
- Пароль для защиты закрытого ключа (не обязательно). Это добавляет дополнительный уровень безопасности.
По завершении будут сгенерированы два файла:
- id_rsa (закрытый ключ);
- id_rsa.pub (открытый ключ).
Открытый ключ необходимо скопировать на сервер для настройки удаленного доступа.
Добавление ключа на сервер
Чтобы добавить открытый ключ на сервер, выполните команду:
ssh-copy-id user@server
Эта команда автоматически скопирует содержимое открытого ключа (id_rsa.pub) на сервер и добавит его в файл ~/.ssh/authorized_keys, который используется для аутентификации.
PuTTY
PuTTY – это один из самых популярных SSH-клиентов для Windows, который поддерживает работу с протоколами SSH, Telnet, и Rlogin. Для генерации SSH-ключей в PuTTY используется специальная утилита PuTTYgen.
Установка PuTTY
Для начала загрузите PuTTY с официального сайта и установите его на свой Windows. PuTTYgen поставляется в комплекте с PuTTY.
Генерация SSH-ключа
Чтобы создать SSH-ключ с помощью PuTTYgen, нужно выполнить следующие шаги:
-
Откройте программу PuTTYgen.
-
В разделе «Parameters» выберите тип ключа (например, RSA), и задайте его длину – 2048 или 4096 бит (чем больше длина ключа, тем выше безопасность).
-
Нажмите кнопку «Generate» и перемещайте курсор мыши в пустом поле окна для создания случайных данных – это необходимо для усиления криптографической стойкости ключа.
-
После генерации введите Key passphrase (парольную фразу) для дополнительной защиты вашего закрытого ключа. Этот пароль будет использоваться при каждом подключении.
-
Сохраните ключи с помощью кнопок «Save private key» (для закрытого ключа) и «Save public key» (для открытого ключа).
После этого можно скопировать открытый ключ на сервер в файл ~/.ssh/authorized_keys, чтобы настроить удаленный доступ. Открытый ключ остается на Windows пользователя.
Использование SSH-ключа с PuTTY
Чтобы подключиться к серверу с помощью сгенерированного SSH-ключа, выполните следующие действия:
- Откройте PuTTY и введите адрес сервера.
- Перейдите в раздел Connection -> SSH -> Auth и укажите путь к вашему закрытому ключу.
- Нажмите «Open» для подключения к серверу.
Применение SSH-ключей для автоматизации
Помимо обеспечения безопасности SSH-ключи также широко применяются для автоматизации процессов. Например, деплой и тестирование программного обеспечения. Их можно легко интегрировать в различные системы CI/CD, например, Jenkins или GitLab CI/CD. Это позволяет безопасно подключаться к серверам для выполнения таких задач, как обновление кода или развертывание приложений.
Кроме того, благодаря использованию ключей исчезает необходимость ввода пароля вручную, что ускоряет и упрощает автоматизированные процессы.
Заключение
Использование SSH-ключей значительно повышает безопасность удаленного подключения к серверам и автоматизирует процессы взаимодействия с ними. Независимо от того, какой метод вы выберете – встроенный клиент OpenSSH или сторонний инструмент PuTTY – оба варианта предоставляют надежный и проверенный способ генерации ключей и настройки защищенных соединений.
SSH — это сетевой протокол прикладного уровня, необходимый для обеспечения безопасного подключения, а после и управления операционной системой. Через него можно удаленно выполнять команды в терминале компьютера. Создать удаленное подключение к серверу через SSH можно с помощью паролей или SSH-ключей. В данной статье мы рассмотрим, как создать ключи в операционной системе Windows.
SSH-ключ в Windows — это один из способов безопасного подключения к удаленному серверу. Преимущество данного метода подключения — это отсутствие возможности взлома, как это происходит с паролем.
Для подключения создаются два SSH-ключа:
- Публичный — ключ, хранящийся на сервере в определенном каталоге. Это комбинация символов, которая шифрует данные при обращении к серверу.
- Приватный — зашифрованный ключ, который располагается на компьютере клиента. Он отвечает за расшифровку полученных данных. При его генерации можно добавить пароль для дополнительной защиты.
Для корректной и полной работы SSH—ключей необходимо будет отключить аутентификацию по паролю.
После создания SSH-ключей в Windows и из сохранении на сервер, при подключении к серверу будет происходить их проверка. Если публичный ключ соответствует приватному, то подключение выполнится.
Существует два варианта генерации SSH-ключей в Windows. Первый — использование OpenSSH клиента, второй — использование клиента PuTTY. Ниже опишем инструкции по созданию ключей, используя и первый, и второй вариант. В качестве операционной системы будет использоваться Windows 10.
Создать VDS
OpenSSH клиент
- Для начала нужно проверить установлен ли OpenSSH клиент на Windows 10. Для этого зайдем в «Параметры», а после перейдем во вкладку «Приложения». Далее нажимаем на ссылку «Дополнительные компоненты», как показано на картинке ниже.
В открывшемся окне в строку поиска вводим «Клиент OpenSSH». Если в списке он будет найден, то можно сразу приступать к генерации ключей. Если же он отсутствует, то нужно нажать на кнопку «Добавить компонент», а после найти его и выбрать среди всех доступных, используя строку поиска. Далее останется нажать кнопку «Установить» снизу слева и можно переходить ко второму шагу.
- Теперь нужно открыть командную строку. Для этого открываем диалоговое окно «Выполнить» (комбинация клавиш Win+R), вводим в строку
cmd
и нажимаем кнопку «ОК».
- В открывшемся окне вводим команду:
ssh-keygen
После этого запустится процесс генерации.
В первую очередь пользователю будет предложено ввести путь к папке, в которой будут храниться ключи. Чтобы оставить вариант по умолчанию (.../.ssh/id_rsa
), предложенный системой, нужно нажать клавишу «Enter».
Далее пользователю будет предложено ввести ключевое слово к ключу. Чтобы пропустить этот шаг, нажмите также клавишу «Enter» 2 раза.
- Проверим, что все ключи успешно сгенерированы. Для этого переходим в соответствующий каталог на своем компьютере. У нас это
/.ssh/id_rsa
, так как мы оставили все по умолчанию.
Как видно по картинке выше, ключи сгенерированы успешно.
Переходим к варианту их создания с помощью клиента PuTTY.
PuTTY
Клиент PuTTY был популярным, когда OpenSSH отсутствовал в Windows. Но и сейчас его не перестают использовать. Он находится в свободном доступе на официальном сайте разработчика. Рассмотрим ниже подробную инструкцию по генерации SSH-ключей на Windows 10 в PuTTY.
- Для начала необходимо скачать архив клиента PuTTY с официального сайта.
- После его нужно будет разархивировать и запустить файл
puttygen.exe
от имени администратора. - В открывшемся окне выбираем классический и повсеместно использующийся тип ключа для генерации — RSA. Длину оставляем 2048 бит и нажимаем кнопку «Генерировать».
- Во время генерации нужно водить курсором по серой области внутри окна до заполнения зеленой полоски. Это позволит улучшить защищенность генерируемого ключа, благодаря созданию псевдослучайности.
- После успешной генерации нужно сохранить публичный и приватный ключ на компьютере. Для этого создадим папку на диске.
Ключи успешно созданы и сохранены на локальной машине. На этом этапе их генерация закончена.
Заключение
В данной инструкции были рассмотрены два варианта создания SSH-ключей в Windows. Для подключения к серверу нужно скопировать в него созданный публичный ключ. При попытке соединиться с сервером будет происходить проверка публичного ключа на стороне сервера с приватным на стороне клиента. Если вы пользуетесь облачными серверами Timeweb Cloud, то можете добавить сгенерированный публичный ключ в разделе «SSH-ключи» в панели управления.
Разбираемся, как создать шифрованный протокол для связи с сервером и входить в систему без пароля учетной записи.
Использование SSH-ключей — простой и надежный способ обеспечения безопасности соединения с сервером. В отличие от пароля, взломать SSH-ключ практически невозможно.
Сгенерировать SSH-ключ очень просто. Покажем по шагам, как это сделать.
SSH-ключ для Linux/MacOS
Откройте терминал и выполните команду:
$ ssh-keygen -t rsa
На консоль будет выведен следующий диалог:
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Нажмите на клавишу Enter. Далее система предложит ввести кодовую фразу для дополнительной защиты SSH-подключения:
Enter passphrase (empty for no passphrase):
Этот шаг можно пропустить. При ответе на этот и следующий вопрос просто нажмите клавишу Enter.
После этого ключ будет создан, а на консоль выведется следующее сообщение:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
476:b2:a8:7f:08:b4:c0:af:81:25:7e:21:48:01:0e:98 user@localhostThe key's randomart image is:
+--[ RSA 2048]----+
|+.o. |
|ooE |
|oo |
|o.+.. |
|.+.+.. S . |
|....+ o + |
| .o .... |
| . .. . |
| .... |
+-----------------+
Далее выполните в терминале команду:
$ cat ~/.ssh/id_rsa.pub
На консоль будет выведен ключ. Скопируйте его и вставьте в соответствующее поле:
Нажмите на кнопку «Добавить».
Добавив ключ, выполните в терминале команду:
$ ssh root@[IP-адрес сервера]
После этого соединение с сервером будет установлено. Вводить пароль при этом не потребуется.
SSH-ключ для Windows
В OC Windows подключение к удаленным серверам по SSH возможно, например, с помощью клиента Putty. Скачать его можно здесь (ссылка взята с официального сайта). Putty не требует установки — чтобы начать с ним работать, достаточно просто распаковать скачанный архив.
По завершении распаковки запустите файл puttygen.exe.
Выберите тип ключа SSH-2 RSA и длину 2048 бит, а затем нажмите на кнопку Generate:
Во время генерации водите курсором в пустой области окна (это нужно для создания псевдослучайности):
Сохраните сгенерированную пару ключей на локальной машине (кнопки Save public key и Save private key).
Скопируйте сгененированный ключ и вставьте его в соответствующее поле.
Заключение
В этой инструкции мы рассмотрели, как создать шифрованный протокол для связи с сервером: сгенерировали SSH-ключ для Linux/MacOS и Windows. Теперь вы можете входить в систему без пароля учетной записи.
Другие материалы по теме
Home » KB » Security » How to Generate SSH Key in Windows 10 or 11
Secure Shell (SSH) is a method for establishing a secure connection between two computers. Key-based authentication uses a key pair, with the private key on a remote server and the corresponding public key on a local machine. When the keys match, access is granted to the remote user.
This guide will show you how to generate an SSH key pair in Windows.
Prerequisites
- A system running Windows 10 or Windows 11.
- A user account with administrative privileges.
- Access to the command prompt.
- A web browser to download PuTTY.
Generate SSH Key Pair in Windows via OpenSSH (ssh-keygen)
ssh-keygen
is a command-line tool that is used to generate, manage, and convert SSH authentication keys. As of Windows 10, the OpenSSH client is included by default, which means you can use it directly from the Command Prompt or PowerShell.
Follow the steps below to use ssh-keygen
for generating a key pair.
Step 1: Verify if OpenSSH Client is Installed
Start by checking to see if you have the OpenSSH client installed:
1. Open Settings and click System in the left panel.
2. Scroll down and click the Optional features heading.
3. Scroll down the list to see if OpenSSH Client is listed. If it is there, then OpenSSH has already been installed on your system, and you can move on to the next section.
If OpenSSH Client is not in the Added features list, click the View features button at the top to install OpenSSH Client.
4. Type OpenSSH in the search bar and check the box next to OpenSSH Client. Then, click Next to install the feature.
5. In the next window, click the Add button to confirm that you want to install OpenSSH Client.
Wait for the installation to complete, and you can move on to the next section.
Step 2: Use OpenSSH to Generate an SSH Key Pair
Follow the steps below to generate an SSH key pair via OpenSSH:
1. Press the Windows key and type cmd. Press Enter to open the Command Prompt.
2. In the command prompt, run the following command:
ssh-keygen
3. You can use the default name for the keys, or you can choose more descriptive names to help you distinguish between keys if you are using multiple key pairs. To stick to the default option, press Enter.
Note: If a file with the same name already exists, you will be asked whether you want to overwrite the file.
4. When prompted, enter a passphrase or hit Enter to skip this step. Repeat the process when prompted to re-enter the passphrase.
5. The system generates the key pair and displays the key fingerprint and a randomart image:
Generate SSH Key Pair in Windows via PuTTY
Before OpenSSH was included with Windows, the PuTTY tool was the gold standard for generating SSH keys. This section shows how to generate SSH keys with PuTTY.
Step 1: Install PuTTY
Follow the steps below to install PuTTY on Windows:
1. Open a web browser and navigate to the PuTTY download page. Download the MSI (Windows installer) for your system architecture (x86 or x64).
2. Double-click the downloaded file to start the installation wizard and the PuTTY Welcome screen appears. Click Next to start the installation.
3. Select the destination folder. Use the default installation configuration unless you have a specific need to change it. Click Next to move on to the next screen.
4. Select which PuTTY product features to install. If you do not have any specific needs, stick to the defaults. Click Next to proceed to the next screen.
5. Once the process completes, click Finish to exit the installation wizard.
Step 2: Create SSH Keys with PuTTY
The process outlined below will generate RSA keys, a classic and widely used encryption algorithm. The PuTTY keygen tool offers several other algorithms: DSA, ECDSA, Ed25519, and SSH-1 (RSA). If you require a different encryption algorithm, select the desired option under the Parameters heading before generating the key pair.
The following table sums up the key differences between the available algorithms:
Algorithm | Key Size (bits) | Security Level | Speed | Use Case | Strengths | Weaknesses |
---|---|---|---|---|---|---|
RSA | 1024 — 4096 | High | Slow | Digital Signatures, TLS | Well-studied, widely used. | Potentially vulnerable to quantum computing attacks. |
DSA | 1024 — 3072 | Moderate to High | Fast | Digital Signatures | Faster than RSA. | Fixed key size. |
ECDSA | 256 — 521 | High | Very Fast | Digital Signatures | Smaller key size, high security. | Complex implementation. |
Ed25519 | 256 | Very High | Very Fast | Digital Signatures | High security, fast, small keys. | Newer, not widely supported. |
SSH-1 (RSA) | 768 — 2048 | Low to Moderate | Slow | Secure Shell (SSH) | Initial SSH protocol. | Deprecated, vulnerable. |
Follow the steps below to create SSH keys with PuTTY:
1. Press the Windows key and type puttygen. Press Enter to open PuTTY Key Generator.
2. In the PuTTY Key Generator window, click Generate. Move the cursor around in the gray box to fill up the green bar.
3. After the process completes, save the key pair. Click the Save public key button and choose a location to save the key. Give the key a name (e.g., putty_key.pub).
Repeat the process for the private key. You can also set a passphrase to secure the keys additionally.
Generate SSH Keys in WSL
Windows Subsystem for Linux (WSL) allows users to run a Linux environment without a separate virtual machine or dual booting. To generate SSH keys via WSL, first install the WSL feature on Windows. Our tutorial outlines the step-by-step process for installing WSL on Windows.
After you complete the installation, run the Command Prompt as an administrator and follow the steps below to create an SSH key in WSL:
1. In the WSL terminal, assuming you chose to install Ubuntu in WSL, run the following command:
ssh-keygen -t rsa
2. The system prompts you for the key location and name. Press Enter to accept the default value.
3. The next prompt is the passphrase, which can be left blank. Alternatively, set a passphrase to secure your key by requiring a password whenever it is accessed.
After you enter the necessary information, the utility creates the keys.
Where to Find Generated SSH Keys in Windows
By default, the system saves the keys generated with PuTTY and OpenSSH to C:\Users\your_username\.ssh\id_rsa. To find the keys, open the File Explorer and navigate to that folder.
You should see two files. The identification is saved in the id_rsa file, and the public key is labeled id_rsa.pub. These two files are your SSH key pair.
Note: The public key is identified with the .pub extension. You can use Notepad to see the contents of both the private and public key.
If you used WSL to generate SSH keys, find them in the ~/.ssh directory accessible from the Ubuntu terminal or in the \wsl$\Ubuntu\home\.ssh\ folder accessible with the Windows file explorer.
Conclusion
This article has provided three methods of generating SSH key pairs on a Windows system. Use the SSH keys to connect to a remote system without using passwords.
Next, check out our guide for passwordless SSH login using SSH keys.
Was this article helpful?
YesNo
- To generate SSH keys on Windows 11, open Command Prompt (admin), and run the “ssh-keygen,” confirm the name for the keys and passphrase. The keys will be generated inside the “.ssh” folder in your profile folder (or in the root of “C.”)
On Windows 11, you can generate private and public SSH keys directly from Command Prompt or PowerShell without having to resource to third-party solutions, and in this guide, you will learn how.
If you are a web developer or network administrator, you’re probably familiar with remote server connections using SSH keys. SSH (Secure Shell Protocol) keys come in pair of public and private keys that you can use to authenticate with a remote server using encryption communication over the internet. Typically, you enable and configure the remote server with SSH and install the public key, and then when establishing a remote connection, you will present the private key (and passphrase if configured) to perform a secure authentication.
Usually, you would use third-party solutions, such as Putty’s PuttyGen tool, to generate SSH keys, but you can also use the built-in SSH key generator on Windows 11 (and 10).
In this guide, you will learn the steps to create SSH keys on Windows 11. (These instructions should also apply to Windows 10.)
- Generate SSH keys on Windows 11 (basic)
- Generate SSH keys on Windows 11 (advanced)
To generate SSH keys on Windows 11, use these steps:
-
Open Start on Windows 11.
-
Search for Command Prompt or PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to generate a pair of SSH keys and press Enter:
ssh-keygen
-
Confirm a descriptive name for the file (for example, webserver) and press Enter.
-
(Optional) Confirm a passphrase for the SSH keys.
Quick note: The passphrase is a layer of security to protect the keys. If you don’t enter a password when authenticating, you won’t be asked to confirm the passphrase, but entering one is recommended.
-
Confirm the passphrase one more time and press Enter.
Once you complete the steps, the private and public keys will be generated and stored in the “.ssh” folder inside your profile folder (%USERPROFILE%). The private key will not include a file extension, while the public key will have a “.pub” extension.
Generate SSH keys on Windows 11 (advanced)
To generate SSH keys using a specific type, use these steps:
-
Open Start.
-
Search for Command Prompt or PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to generate private and public SSH keys using a specific type and press Enter:
ssh-keygen -t ed25519 -C "[email protected]"
Quick note: The “-t” option tells the command that you want to specify a new type of key. In the command, we’re using “ed25519” to create an EdDSA key type. The default creates RSA keys, but you can change it to DSA, ECDSA, ECDSA-K, ED25519, or ED25519-SK. If you don’t specify your email address, the command will generate a random address using your account username
"@"
computer name. -
Confirm a descriptive name for the file (for example, webserver) and press Enter.
-
(Optional) Confirm a passphrase for the SSH keys.
-
Confirm the passphrase one more time and press Enter.
After you complete the steps, the SSH keys will be available in the “.ssh” folder in your account folder (%USERPROFILE%).
If the SSH keys are not present in the C:\Users\username\.ssh
folder, the tool may have stored the files in the root of the C:\
drive. Also, if the “.ssh” folder is missing from the profile folder, you can create a new folder manually and run the command again, but this time, you need to append this configuration -f %userprofile%/.ssh/id_ed25519
. The command should be similar to this: ssh-keygen -t ed25519 -C "[email protected]" -f %userprofile%/.ssh/id_ed25519
You can always use the ssh-keygen /help
command to access the available options with descriptions.
If the “ssh-keygen” command isn’t available, you will have to install it manually from Settings > Apps > Optional features. On the settings, click the “View features” button, search for “OpenSSH Client,” and check the option, then click the “Next” and the “Install” buttons.