Step 1: First Login and Updates
Connect via SSH using the credentials provided at provisioning, then immediately run a full system update (`apt update && apt upgrade` on Debian/Ubuntu) to patch any vulnerabilities present since the image was built.
Step 2: Create a Non-Root User
Create a new user, add it to the sudo group, and test that you can log in and elevate privileges with it before disabling direct root login — this avoids locking yourself out.
Step 3: Secure SSH
Generate an SSH key pair locally, copy the public key to the server, then disable password authentication and root login in the SSH config, restarting the SSH service to apply changes.
Step 4: Configure the Firewall
Enable ufw (or your distro's default), explicitly allow SSH and any application ports you need, then set the default policy to deny all other incoming traffic.
Step 5: Install Your Stack
With the base secured, install whatever your project needs — Docker, Nginx, a database, Node.js/Python runtime — and deploy your application, ideally under its own dedicated system user.
Frequently Asked Questions
What's the very first thing I should do on a new VPS?
Run a full system update, then immediately move to creating a non-root user and securing SSH before doing anything else.
Can I skip the firewall if I only run one service?
It's not recommended — a firewall protects against unrelated scanning and future services you may add, and takes only minutes to configure correctly.
Do I need a control panel to set up a VPS?
No, though panels like Webmin or cPanel can simplify ongoing management if you're less comfortable with the command line.
Ready to get started?
Explore SkyRainCloud's hosting plans with dedicated resources, NVMe storage, and India-based data centers.
Explore All Services
