To use key-based authentication, you first need to generate some public/private key pairs for your client. From PowerShell or cmd, use ssh-keygen to generate some key files. Cd.ssh ssh-keygen This should display something like the following (where 'username' is replaced by your user name) Generating public/private ed25519 key pair. To create a new key pair, select the type of key to generate from the bottom of the screen (using SSH-2 RSA with 2048 bit key size is good for most people; another good well-known alternative is ECDSA). Then click Generate, and start moving the mouse within the Window. Putty uses mouse movements to collect randomness. Run it on your local computer to generate a 2048-bit RSA key pair, which is fine for most uses. Ssh-keygen The utility prompts you to select a location for the keys. By default, the keys are stored in the /.ssh directory with the filenames idrsa for the private key and idrsa.pub for the public key.
This guide contains description of setting up public key authentication for use with WinSCP. You may want to learn more about public key authentication or SSH keys instead.
- Configure Server to Accept Public Key
Advertisement
Before starting you should:
- Have WinSCP installed;
- Know how to connect to the server without public key authentication.
If you do not have a key pair yet, start with generating new key pair.
Connect to your SSH server using WinSCP with the SSH protocol, using other means of authentication than public key, e.g. typically using password authentication.
Once logged in, configure your server to accept your public key. That varies with SSH server software being used. The most common SSH server is OpenSSH.
![Key Key](https://www.ssh.com/s/puttygen-generate-putty-ssh-key-479x471-cv40+izP.png)
You can use Session > Install Public Key into Server command on the main window, or Tools > Install Public Key into Server command on SSH > Authentication page page on Advanced Site Settings dialog. The functionality of the command is similar to that of OpenSSH
ssh-copy-id
command.Or you can configure the key manually:
Symmetric Key
- Navigate into a
.ssh
subdirectory of your account home directory. You may need to enable showing hidden files to see the directory. If the directory does not exists, you need to create it first. - Once there, open a file
authorized_keys
for editing. Again you may have to create this file, if this is your first key. - Switch to the PuTTYgen window, select all of the text in the Public key for pasting into OpenSSH authorized_keys file box, and copy it to the clipboard (
Ctrl+C
). Then, switch back to the editor and insert the data into the open file, making sure it ends up all on one line. Save the file. WinSCP can show you the public key too. - Ensure that your account home directory, your
.ssh
directory and fileauthorized_keys
are not group-writable or world-writable. Recommended permissions for.ssh
directory are700
. Recommended permissions forauthorized_keys
files are600
. Read more about changing permissions.
- Save a public key file from PuTTYgen, and copy that into the
.ssh2
subdirectory of your account home directory. - In the same subdirectory, edit (or create) a file called
authorization
. In this file you should put a line likeKey mykey.pub
, withmykey.pub
replaced by the name of your key file.
For other SSH server software, you should refer to the manual for that server.
When configuring session, specify path to your private key on SSH > Authentication page of Advanced Site Settings dialog.
Generate Openssh Public Key Windows 8
Alternatively, load the private key into Pageant.
Cloud providers have typically their own mechanism to setup a public key authentication to virtual servers running in the cloud.
For details see guides for connecting to:
- Amazon EC2;
- Google Compute Engine;
- Microsoft Azure.
- Using Public Keys for Authentication;
- Using PuTTYgen;
- Understanding SSH Key Pairs.
You can generate an SSH key on Windows using the PuTTY SSH client. You can download PuTTY for free from this URL.
To generate a key with PuTTY, you should:
- Download and start the puttygen.exe generator.
- In the 'Parameters' section choose SSH2 DSA and press Generate.
- Move your mouse randomly in the small screen in order to generate the key pairs.
- Enter a key comment, which will identify the key (useful when you use several SSH keys).
- Type in the passphrase and confirm it. The passphrase is used to protect your key. You will be asked for it when you connect via SSH.
- Click 'Save private key' to save your private key.
- Click 'Save public key' to save your public key.
Public Key Example
For more information on how to load the key and connect via SSH using PuTTY, please check this tutorial.
Public Key Definition
You find this article useful? Click here to learn more about SiteGround web hosting experts and what else we can do for you!