This tutorial guides you to do the initial server setup with CentOS 7. By the end of this tutorial, you will be able to:
- Set up a new user with root privileges
- Configure SSH for making secure connection
- Access your virtual private server with new user
Root Login
Since root login on regular basis is not recommended, we will be creating an alternative user for accessing server. First of all, open your terminal and login to the system as root user.
ssh [email protected]
You can see the following on your terminal:
The authenticity of host 123.45.67.890 (123.45.67.890)' can't be established. ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0. Are you sure you want to continue connecting (yes/no)?
You have to type Yes and then enter your root password.
Changing Your Password
You have to change that default root password that was sent while registering your droplet. You may change the password as you wish.
passwd
Note: CentOS is particular about the passwords you provide. It may show a bad password notice after you entered your password. Either you can ignore that message or set it up to a more complex password.
Creating a New User
Now, you can create a new user for VPS and can grant all root privileges. Here, in this tutorial I have given the name demo for the user. You may wish to choose any name you like.
adduser demo
Create a password for the new user:
passwd demo
Granting Root Privileges
We need to grant all root privileges for the new user. It’s required for the administrative capabilities in the virtual server. While performing any root tasks with the new user, always remember to use the ‘sudo’ option. This is highly recommended for two reasons:
- It will prevent the user from making any system errors.
- It will store all the commands with ‘sudo’ option in a log file for auditing, in case if needed.
Now, let’s edit the sudo configuration.
vi sudo
Search for the user privilege section and update it with the command to grant all root permissions to the newly created user.
# User privilege specification root ALL=(ALL) ALL demo ALL=(ALL) ALL
After updating, save the file and exit.
SSH Configuration
SSH stands for Secure Shell and it is used to log into a remote server and execute commands. This step is optional.
Open the ssh configuration file with this command.
sudo vi /etc/ssh/sshd_config
Search for the following section and make the updates wherever necessary.
Port25000 PermitRootLogin no
Here, I have updated the port to 25000. Even though port 22 is the default port, you can change it to any number between 1025 and 65536. However, you need to remember the port number for future log-ins.
Search for PermitRootLogin and change it from ‘yes’ to ‘no’. This will prevent root login in the future. Now you only need to login with the new user.
You can add the following line to the end of the file.
AllowUsers demo
Now the configuration changes are done. You can restart and reload SSH so as to implement the new port and settings.
sudo systemctl reload sshd.service
For verifying the new settings, open a new terminal window and login to your virtual server using the new user and password. Make sure you have not logged out of root yet.
You can include the new port number and you will see the system prompt with your chosen name.
ssh -p 25000 [email protected]
[[email protected] ~]$
You have logged in successfully to your virtual private server with the new user and you can opt to exit out of root now.