Mystery Data
  • MD Forums
  • Home
  • Tutorials
    • WordPress
    • Linux
    • Centos
    • MySQL/MariaDB
  • Control Panel
    • CWP
    • Vesta CP
  • Contact Me

Mystery Data

  • MD Forums
  • Home
  • Tutorials
    • WordPress
    • Linux
    • Centos
    • MySQL/MariaDB
  • Control Panel
    • CWP
    • Vesta CP
  • Contact Me
CentosCWPLinux

How to enable public key authentication and login with SSH keys without Password with PUTTY

written by Sandy January 29, 2018

Benefits of SSH keys

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).

Setup SSH Keys on your Windows computer/laptop using PuttyGEN

Step 1

Download PuttyGEN from the Homepage website.
Scroll down until you find puttygen.exe and download either 32 or 64bit version.

Step 2

Start PuttyGEN by double clicking on its icon

Step 3

From top menu, click on “Key” and select “SSH-2 RSA” and in the bottom right box change the number 2048 to 4096

Step 4

Click “Generate” button

Step 5

Move your mouse pointer around in the blank area of the Key section, below the progress bar (to generate some randomness) until the progress bar is full

Step 6

Click the “Save public key” button & choose whatever filename you’d like (some users create a folder in their computer named my_keys)

Step 7

Click the “Save private key” button & choose whatever filename you’d like

NOTE! Both public and private files will have to stay on your computer, do not delete them.

Step 8

Right-click in the text field labeled Public key for pasting into OpenSSH authorized_keys file and choose Select All, right-click again and choose Copy

Step 9

Login to your VPS or Dedicated server

Step 10

Run the following commands:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Step 11

Paste the SSH public key which you copied in step 8 into your ~/.ssh/authorized_keys file

Lets setup Putty on your windows computer/laptop

Step 1

Start PuTTY by double-clicking its executable file

Step 2

PuTTY’s initial window is the Session Category (navigate PuTTY’s various categories, along the left-hand side of the window)

Step 3

In the Host Name field, enter the IP address of your VPS or its fully qualified domain name (FQDN)

Step 4

Enter the port number in the Port field (for added security, consider changing your server’s SSH port to a non-standard port.

Step 5

Along the left-hand side of the window, select the Data sub-category, under Connection

Step 6

Specify the username that you plan on using, when logging in to the SSH server, and whose profile you’re saving, in the Auto-login username field

Step 7

Expand the SSH sub-category, under Connection

Step 8

Highlight the Auth sub-category and click the Browse button, on the right-hand side of the PuTTY window

Step 9

Browse your file system and select your previously-created private key

Step 10

Return to the Session Category and enter a name for this profile in the Saved Sessions field, e.g. user@123.456.78.9 or user@host.yourdomain.tld

Step 11

Click the Save button

Now you can go ahead and log in to your server and you will not be prompted for a password.

Finally let’s disable username/password login on your vps/dedicated server

Step 1

Open /etc/ssh/sshd_config

 nano /etc/ssh/sshd_config

Step 1

Lets change both “PasswordAuthentication” and “UsePAM” options to “no”

[...]
PasswordAuthentication no
[...]
UsePAM no
[...]

Step 2

Restart your SSH server

service sshd restart
or
sudo reload ssh
0 comment
1
Facebook Twitter Google + Pinterest
previous post
How to Enable Leverage Browsing Caching On Linux Server Running Apache
next post
5 Best Tools for monitoring network on your Linux server

You may also like

Configure and Speed Up WordPress with Memcached on...

April 2, 2018

How to Speedup WordPress and Decrease the Server...

December 27, 2017

How to enable GZIP compression on Linux Server...

December 29, 2017

How to Upgrade PHP 5.6 to PHP 7.2...

February 10, 2018

How to Install PHP OPCache APC/APCu Memcached and...

April 10, 2018

How to Install Latest Version of Glances –...

April 19, 2018

How to Enable HTTP/2 on CWP7 – Centos...

December 14, 2017

How to Reset and Recover MySQL or MariaDB...

November 29, 2017

Create and Add Swap On Linux OS CWP...

February 25, 2018

How to improve and speed up the performance...

April 19, 2018

Leave a Comment Cancel Reply

Recent Posts

  • How to Install Latest Version of Glances – Linux System Monitoring Tool
  • How to improve and speed up the performance of Apache in VestaCP
  • How to Install PHP OPCache APC/APCu Memcached and Redis on VestaCP CentOS
  • How to Install or Upgrade to Kernel 4.16 in CentOS 7, CWP7 and VestaCP
  • Configure and Speed Up WordPress with Memcached on PHP 7
  • Apache HTTP to HTTPS htaccess redirect on CWP – Centos WebPanel
  • How to Install Let’s Encrypt Wildcard SSL For Your Domain – ACME v2
  • Install Your Own VPN Server – OpenVPN on CentOS 7
  • Create and Add Swap On Linux OS CWP Centos WebPanel and VestaCP
  • Secure phpMyAdmin From Brute Force Attack on CWP Centos WebPanel and VestaCP Centos

Copyright - Mystery Data