What is SSH: Secure Shell (SSH) is an open source cryptographic network protocol for operating network services securely over an unsecured network. The best-known example application is for remote login to computer systems by users. SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server.
What is SSH-KEYGEN: ssh-keygen is a standard component of the Secure Shell (SSH) protocol suite found on Unix and Unix-like computer systems used to establish secure shell sessions between remote computers over insecure networks, through the use of various cryptographic techniques. The ssh-keygen utility is used to generate, manage, and convert authentication keys. ssh-keygen is able to generate a key using one of three different digital signature algorithms.
Test Case: In our example, we will setup SSH password-less automatic login from server user1@tstserver001 to server user2stserver002
SSH Client: user1@tstserver001
SSH Remote Host: user2stserver002
- Frist attempt to log in without setting up SSH keys, we will be prompted for the password.
Now let’s create a SSH Key on user1@tstserver001
Now that our Public Key has been created (/home/user1/.ssh/id_rsa.pub), we can now upload that to any node to setup Password-less connection.
2. Create .SSH directory on user2@tstserver2 if it doesn’t exist.
3. Upload and append the Public Key (id_rsa.pub) on server user2@tstserver2
4. Set Permissions on Remote Host (user2@tstserver002)
- Alternate ways to do Step 3 and 4, you also Secure Copy the Public Key (id_rsa.pub) file and then append.
5. Test Logging in from [user1@tstserver001]$ to [user2@tstserver002]
From now, you can log in to [user2@tstserver002] from [user1@tstserver001] without the password.