CentOS 7
Sponsored Link

SSH Keys Authentication
2014/07/29
 
Configure SSH server to login with Keys Authentication. Create a private key for client and a public key for server to do it.
[1] Create key pair for each user, so login with a common user and work it like follows.
# create key pair

[[email protected] ~]$
ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/cent/.ssh/id_rsa):  
# Enter

Created directory '/home/cent/.ssh'.
Enter passphrase (empty for no passphrase):  
# set passphrase (set no passphrase to Enter with empty)

Enter same passphrase again:
Your identification has been saved in /home/cent/.ssh/id_rsa.
Your public key has been saved in /home/cent/.ssh/id_rsa.pub.
The key fingerprint is:
38:f1:b4:6d:d3:0e:59:c8:fa:1d:1d:48:86:f0:fe:74 [email protected]
The key's randomart image is:

[[email protected] ~]$
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

[[email protected] ~]$
chmod 600 ~/.ssh/authorized_keys

[2] Transfer the secret key created on the Server to a Client, then it's possbile to login with keys authentication.
[[email protected] ~]$
mkdir ~/.ssh

[[email protected] ~]$
chmod 700 ~/.ssh
# copy the secret key to local ssh directory

[[email protected] ~]$
scp [email protected]:/home/cent/.ssh/id_rsa ~/.ssh/

[email protected]'s password:
id_rsa
[[email protected] ~]$
ssh -i ~/.ssh/id_rsa [email protected]

Enter passphrase for key '/home/cent/.ssh/id_rsa':  
# passphrase

Last login: Wed Jul 30 21:37:19 2014 from www.srv.world
[[email protected] ~]$  
# just logined

[3] If you set "PasswordAuthentication" no, it's more secure.
[[email protected] ~]#
vi /etc/ssh/sshd_config
# line 78: turn to "no"

PasswordAuthentication
no
# line 83: make sure the value is "no"

ChallengeResponseAuthentication no
# line 110: make sure the value is "yes"

UsePAM yes
[[email protected] ~]#
systemctl restart sshd

SSH Keys Auth from Windows Client
 
It's the example to login to SSH server from Windows Client. It uses Putty on here.
Transfer a secret key to Windows Client first.
[4] Download "Puttygen.exe" from Putty Site and save it under the Putty directory. Next execute it and click "Load" button.
[5] Specify the secret key which you downloaded, then passphrase is required like follows, answer it.
[6] Click "Save private key" button to save it under a folder you like with any file name you like.
[7] Start Putty and open [Connection]-[SSH]-[Auth] on the left menu, then select the "private_key" which was just saved above.
[8] Back to the [Session] on the left menu and connect to the SSH server.
[9] The passphrase is required to input, then answer it. If it's correct passphrase, it's possible to login normally like follows.