Introduction
If you are new to VPS hosting, the learning curve can feel steep. Unlike shared hosting, where the provider handles everything, a VPS gives you full control of a virtualized server environment with dedicated CPU, RAM, and storage resources. This 2026 guide walks you through the practical steps to get your first VPS up and running, from initial SSH access to basic server hardening.
Before you start, make sure you have already purchased a VPS plan and received your server IP address and root password from your provider. If you have not yet chosen a provider, compare VPS providers for your workload to find the right fit.
What You Need
- A VPS server with a public IP address
- Root or sudo-access credentials
- An SSH client (built into Linux/macOS terminals; Windows users can use PowerShell or Windows Terminal with the OpenSSH client)
- Basic familiarity with the command line
Step 1: Connecting via SSH
SSH (Secure Shell) is the standard protocol for remotely managing Linux servers. Open your terminal and run:
ssh [email protected]
Replace 192.0.2.1 with your actual server IP. On the first connection, you will see a fingerprint prompt:
The authenticity of host '192.0.2.1 (192.0.2.1)' cannot be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Verify the fingerprint matches what your provider shows in their dashboard, then type yes. Enter the root password when prompted.
Step 2: Initial Server Hardening
Once logged in, immediately secure your server with these three essential steps:
Update the System
Run the update commands for your distribution:
Ubuntu/Debian:
apt update && apt upgrade -y
CentOS/Rocky/AlmaLinux:
dnf update -y
Create a Non-Root User
Logging in as root is a security risk. Create a regular user with sudo privileges:
adduser adminuser
usermod -aG sudo adminuser
Enable SSH Key Authentication
On your local machine, generate an SSH key pair:
ssh-keygen -t ed25519 -C "[email protected]"
Then copy the public key to your server:
ssh-copy-id [email protected]
After confirming key-based login works, disable password authentication in /etc/ssh/sshd_config by setting PasswordAuthentication no, then restart SSH: systemctl restart sshd.
Step 3: Configure a Firewall
UFW (Uncomplicated Firewall) is the simplest option on Ubuntu:
ufw allow OpenSSH
ufw enable
ufw status verbose
Always allow SSH before enabling the firewall, or you will lock yourself out.
Step 4: Install a Web Server
For a typical web hosting setup, install Nginx or Apache along with PHP and MySQL/MariaDB:
apt install nginx mysql-server php-fpm php-mysql -y
Secure the MySQL installation:
mysql_secure_installation
Configure Nginx to use PHP-FPM by editing the default server block at /etc/nginx/sites-available/default and uncommenting the PHP processing lines. Test the configuration with nginx -t, then restart Nginx: systemctl restart nginx.
Step 5: Monitoring and Maintenance
Set up basic monitoring to track resource usage:
apt install htop iotop net-tools -y
Use htop for real-time CPU and memory monitoring. Schedule weekly automatic updates with unattended-upgrades on Ubuntu or configure a cron job for dnf-automatic on RHEL-based distros.
Troubleshooting Common Connection Issues
- Connection refused: The SSH service is not running or the port is blocked by a firewall. Check with
systemctl status sshdand verify your provider’s firewall rules in their control panel. - Permission denied (publickey): SSH key authentication is failing. Verify the public key is in
~/.ssh/authorized_keyswith correct permissions (600 for the file, 700 for the.sshdirectory). - Timeout: The IP address may be incorrect or the server is not provisioned yet. Double-check the IP in your provider dashboard.
This guide covers the essential steps to get started with any Linux VPS. For deeper performance tuning, explore our VPS features page to understand how resource allocation affects workload performance.




Leave a Reply
You must be logged in to post a comment.