Accessing with the Root User via SSH

Share this post on:

In a previous article titled Configuring SSH Access on Ubuntu, we discussed how to set up SSH access on Ubuntu. In this article, we will continue by explaining how to allow access using the root user.

Start by accessing the remote server where you want to enable root access. Log in using the standard or basic user that was set up in the previous article, in my case, aldrass.

ssh aldrass

Once inside, open the SSH configuration file located at /etc/ssh/sshd_config using your preferred text editor.

sudo nano /etc/ssh/sshd_config

Once there, look for the property called PermitRootLogin. This line is usually commented out, meaning it starts with a #symbol. Remove the # symbol and set the value to yes, resulting in the following:

PermitRootLogin yes

The second step is to enable password authentication. Why do we do this? We need to copy the public key from our machine to the root user’s .ssh directory, but we’ll cover that later. For now, in the same configuration file /etc/ssh/sshd_config, locate the property PasswordAuthentication and update its value to yes, resulting in the following:

PasswordAuthentication yes

Now, save the file and restart the SSH service.

service sshd restart

The next step is to set a password for the root user. How do we do this? Execute the following command:

sudo passwd root

Specify your preferred password and confirm it.

Now we are ready to copy the public key from our local machine to the server. To do this, execute the following command. Note that in my case, the key is ~/.ssh/id_rsa.pub, but it might be different for you.

ssh-copy-id -i ~/.ssh/id_rsa.pub root@ironforge

Now that the key has been transferred to the server, we just need to disable password authentication. To do this, on the server, reopen the file /etc/ssh/sshd_config, locate the property PasswordAuthentication, and set it to no. Save the changes and restart the SSH service using the command:

service sshd restart

The only thing left is to update the ~/.ssh/config file on our local machine to use the root user. This is how it is currently configured:

Host ironforge
HostName 192.168.128.2
user aldrass
IdentityFile ~/.ssh/id_rsa

We need to update the user to root, so it will look like this:

Host ironforge
HostName 192.168.128.2
user root
IdentityFile ~/.ssh/id_rsa

Finally, you should now be able to access the server using the root user. If you try ssh ironforge and enter the root password you set earlier, you will be able to access the server.

If you made it to the end and successfully completed the tutorial, congratulations!

Yuniel Alvarez

Leave a Reply