This article explains how to set up passwordless login with PuTTY. 

These instructions can also be used to create and assign SSH keys to an admin/root user on a Dedicated Server.

If VPS/Dedicated server is visible over the Internet, you should use public key authentication instead of passwords, if at all possible. This is because SSH keys provide a more secure way of logging in compared to using a password alone. While a password can eventually be cracked with a brute-force attack, SSH keys are nearly impossible to decipher by brute force alone. With public key authentication, every computer has (i) a public and (ii) a private "key" (two mathematically-linked algorithms that are effectively impossible to crack).

Creating a key pair

  1. Open the puttygen.exe file you downloaded when configuring PuTTY. You’ll use this to create your private/public keypair.
  2. In the PuTTY Key Generator box, make sure the radio button at the bottom is selected for RSA. In the Top menu click Key -> Parameters for Saving Key files -> Select 2 next to PPK file version


    02 putty keygen.png
  3. Click the Generate button.
  4. Move your mouse around the box to help generate the keys.
    Once the key is created, a new pop-up box appears:
    03 pubkey.png
  5. On the bottom right, there are buttons named Save public key and Save private key – save both to your computer.
    • When you save the public key, name it something like ServercheapPublickey. Do not manually add the extension as that isn’t necessary.
    • When you save the private key, name it something like ServercheapPrivatekey and be sure to save it in a secure location on your computer. Again, do not manually add the extension as that isn’t necessary.
    • When saving, you are prompted with a message about a passphrase.
      Click Yes to save without a passphrase.

    If you're creating keys for MySQL Workbench

    If you're creating a key pair for MySQL Workbench, you must export the private key in OpenSSH format.

    convert to openssh key
    1. Click the Conversions tab and select Export OpenSSH key.
    2. Save this to your computer without an extension.
    You can now use this key to import into MySQL Workbench.

Uploading the public key to your server

  1. Upload the public key you just created to your Servercheap user's home directory. You can use an FTP client such as Filezilla to do this.
  2. Log into your Servercheap server through PuTTY.
  3. Navigate to your user's /home directory.
    [ServercheapVPS]$ cd ~
  4. Create an /.ssh directory by running this command:
    [ServercheapVPS]$ mkdir .ssh
  5. Change the permissions on this directory to 700.
    [ServercheapVPS]$ chmod 700 .ssh
  6. While still in your user's home directory, append the public key you just uploaded to a new file named authorized_keys which is located in the /.ssh directory by running this command:
    [ServercheapVPS]$ ssh-keygen -i -f ServercheapPublickey >> ~/.ssh/authorized_keys

    This appends the ServercheapPublickey you uploaded from your home computer into a new file named authorized_keys. Just make sure the name of the public key file in the command is the name of the file you uploaded.

  7. Adjust permissions by running this command:
    [ServercheapVPS]$ chmod 600 ~/.ssh/authorized_keys

    Then remove the original ServercheapPublickey file:

    [ServercheapVPS]$ rm ServercheapPublickey

    Now the key sits on the server (protected from access by others)

  8. Log out of PuTTY and start the program up again.
  9. When the program restarts, open the configuration box and click the Connection > Data category on the left.
    04 username.png
  10.   Enter your Servercheap username (by default username is: root) in the first field which is named Auto-login username.
    05 auth.png
  11.   In the same configuration box, click Connection > SSH > Auth.
  12.   Click the Browse button and navigate to the location on your computer where you saved your ServercheapPrivatekey file.
  13.   On the configuration box, click the Session category and enter the following:
    • Host Name: (This is your Servercheap vps IP address)
    • Port: 22
    • Connection Type: SSH
    • Saved Session: Enter a new name
  14.   Click the Save button.
  15.   Open PuTTY and click the new saved session you created for the passwordless login, then click the Open button. You are logged in without a password prompt.
Was this answer helpful? 2236 Users Found This Useful (3327 Votes)