This post shows students and new users steps to generate or create SSH keys in Windows 11 or 10. If you want to remotely connect to a SSH server using key authentication or use GitHub to manage your code, you will need a SSH key pair.
In Ubuntu Linux and other Unix-like systems, generating and managing SSH key and using key based authentication is pretty easy and straightforward.
Below is a post that shows you how to create a SSH key pair in Ubuntu Linux which might also work in other Linux distributions.
How to create a SSH key for key authentication
When you’re using a Windows machine the steps above might be a bit different. Windows 11 comes with a built in OpenSSH package and commands that one can use to generate and manage keys from the Command Prompt, Windows Terminal or PowerShell.
If you’re going to be using the command line, then you should definitely use Windows Terminal which is installed by default in Windows 11. Windows Terminal provides better experience and features, and can run the Command Prompt, PowerShell, and the Windows Subsystem for Linux all in one window.
How to create SSH keys in Windows 11
As mentioned above, one can create or generate SSH keys in Windows 11. If you want to use SSH key authentication or use SSH key based authentication, you will need to create a pair of SSH key.
The steps below show you how to do that in Windows 11
In Windows, to generate a SSH key, simply run the commands below and press Enter.
The command above will automatically create and generate a 2048-bit RSA key.
GitHub recommends generating a SSH key with Ed25519 algorithm.
ssh-keygen -t ed25519 -C "[email protected]"
When you run the commands above, you’ll be prompted with the following lines asking to enter a location to save the file.
When you are prompted to “Enter a file in which to save the key,” press Enter to accept the default file location.
Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\Richard/.ssh/id_ed25519):
If you use the defaults then it will save your keys in C:\User\<username>\.ssh
Next, you’ll be asked to enter a passphrase. You typically leave this empty and press Enter. However, you can secure your SSH key by entering a passphrase so that you’re prompted for the passphrase everytime you want to use the key to authenticate.
Created directory 'C:\Users\Richard/.ssh'. Enter passphrase (empty for no passphrase):
After that you should see similar screen as the one below. Your SSH key pair should be created and ready to use.
Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\Richard/.ssh/id_ed25519): Created directory 'C:\Users\Richard/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\Richard/.ssh/id_ed25519. Your public key has been saved in C:\Users\Richard/.ssh/id_ed25519.pub. The key fingerprint is: SHA256:fXTi96BC8pHrLtqyBOrtKBeWvYSMigOKt9U898rd1Jo [email protected] The key's randomart image is: +--[ED25519 256]--+ | | | | | o . | | . + o | | o +. S = o o | |o *.o+ + + + o | |*..o..= . + o . .| |B.o+...=.+ + o | | =+oo o+++= E | +----[SHA256]-----+
Once the key generation process is complete, you should be able to access the key pair at the location below.
Replacing <username> with your Windows account name.
That should do it!
This post showed you how to generate a SSH key in Windows 11. If you find any error above or have something to add, please use the comment form below.