Using the SSH protocol and by sharing the public key, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to remote server from local server.
Let us consider we have 2 linux machine local server and remote server.
Step 1 . Check if you have already key pair
Before starting let check if you have public and private in your local server for the user local-user.
Step 2. Generate the public and private key pair
Run the following command to generate the ssh key pair.
Step 3 : Share the public key to remote server
Copy and install the public key using ssh-copy-id command
Note : You can also direct copy the content of public key and pate into authorized_keys (~/.ssh/authorized_keys) file of remote server.
Step 4. Access remote server with SSH
Now try logging into the machine, with "ssh remote-user@<ip-address-of-remote-server>" from local server with local-user.
Let us consider we have 2 linux machine local server and remote server.
Step 1 . Check if you have already key pair
Before starting let check if you have public and private in your local server for the user local-user.
[local-user@ip-xx-xx-xx ~]$ ls -l ~/.ssh
-rw-------. 1 local-user local-user 401 Nov 19 09:13 authorized_keys
-rw-------. 1 local-user local-user 3243 Nov 19 17:36 id_rsa
-rw-r--r--. 1 local-user local-user 743 Nov 19 17:36 id_rsa.pub
-rw-r--r--. 1 local-user local-user 803 Nov 19 17:32 known_hosts
If you able to see id_rsa and id_rsa.pub then that means you have already generated key pair otherwise you need to generate key pair.-rw-------. 1 local-user local-user 401 Nov 19 09:13 authorized_keys
-rw-------. 1 local-user local-user 3243 Nov 19 17:36 id_rsa
-rw-r--r--. 1 local-user local-user 743 Nov 19 17:36 id_rsa.pub
-rw-r--r--. 1 local-user local-user 803 Nov 19 17:32 known_hosts
Step 2. Generate the public and private key pair
Run the following command to generate the ssh key pair.
[local-user@ip-172-31-52-47 ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/local-user/.ssh/id_rsa):[ Hit Enter key ]
Created directory '/home/local-user/.ssh'.
Enter passphrase (empty for no passphrase):[ Hit Enter key ]
Enter same passphrase again:[ Hit Enter key ]
Your identification has been saved in /home/local-user/.ssh/id_rsa.
Your public key has been saved in /home/local-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Pz5p8KbvF/kcgOTSak45/ZGkE5saGVLZD36U1okLtg4 local-user@ip-172-31-52-47.ec2.internal
The key's randomart image is:
+---[RSA 2048]----+
| o + . |
| o ** = o |
| . O . |
| . E B * |
| .SX xB + |
| X.B = . |
| + *o+ = . |
| o.*.o o |
| .*+o |
+----[SHA256]-----+
Now you will be able to see public and private key in the /home/local-user/.ssh/ directory.Generating public/private rsa key pair.
Enter file in which to save the key (/home/local-user/.ssh/id_rsa):[ Hit Enter key ]
Created directory '/home/local-user/.ssh'.
Enter passphrase (empty for no passphrase):[ Hit Enter key ]
Enter same passphrase again:[ Hit Enter key ]
Your identification has been saved in /home/local-user/.ssh/id_rsa.
Your public key has been saved in /home/local-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Pz5p8KbvF/kcgOTSak45/ZGkE5saGVLZD36U1okLtg4 local-user@ip-172-31-52-47.ec2.internal
The key's randomart image is:
+---[RSA 2048]----+
| o + . |
| o ** = o |
| . O . |
| . E B * |
| .SX xB + |
| X.B = . |
| + *o+ = . |
| o.*.o o |
| .*+o |
+----[SHA256]-----+
Step 3 : Share the public key to remote server
Copy and install the public key using ssh-copy-id command
$ ssh-copy-id -i remote-user@<ip-address-of-remote-server>
remote-user@<ip-address-of-remote-server> password:
remote-user@<ip-address-of-remote-server> password:
Note : You can also direct copy the content of public key and pate into authorized_keys (~/.ssh/authorized_keys) file of remote server.
Step 4. Access remote server with SSH
Now try logging into the machine, with "ssh remote-user@<ip-address-of-remote-server>" from local server with local-user.
******************** END ********************