Step 1: Login to system as root user. Don’t worry, you will be using root account for remote login only in this step.


Step 2:
 Create an alternate user account. For example, administrator.
[root@root ~]# adduser administrator


Step 3:
 Set a strong password for user account created in step 2.

[root@root ~]# passwd administrator


Step 4:
 Open another terminal & login to the system as the new user created in step 2. This step will allow you to test if the new account works properly.


Step 5:
 Test that you can switch to root account.

[administrator@administrator ~]$ su -


Enter root account password and check if you have gained root access.

[root@root ~]# whoami
root


Step 6:
 Disable root user login via SSH.

[root@root ~]# vi /etc/ssh/sshd_config


Step 7:
 Lookout for '#PermitRootLogin yes'. By default, root login is allowed by SSH.


Step 8:
 Change '#PermitRootLogin yes' to 'PermitRootLogin no'


Step 9:
 Save the file & exit


Step 10:
 Make sure sshd_config does not have any syntax errors.

[root@root ~]# /usr/sbin/sshd -t
[root@root ~]# echo $?
0

The above output suggests, sshd_config does not have any syntax error. In case, if there is an error, you would see non-zero output.


Step 11:
 Restart SSH to read the new configuration change.

# service sshd restart


Step 12:
 Make sure root login via SSH is disabled.

ssh root@<ip-address>

The access should be denied in spite of entering valid password for root user. It means, SSH has denied access to the root account.


Step 13:
 Login as non-privileged user account created in Step 2.


Step 14:
 When needed, switch to root account as below:

[administrator@administrator ~]$ su -


That’s it !!
 

Was this answer helpful? 0 Users Found This Useful (0 Votes)