SSH into your VPS — complete guide
Connect to your Rivervo VPS via SSH from Mac, Windows, or Linux. Key-based auth setup, common commands, troubleshooting.
SSH (Secure Shell) is how you connect to and manage your VPS from the command line. This guide covers the two authentication methods — password and key-based — and the tradeoffs between them.
Your server details
New panel (rivervo.com/panel): open the server's project. The Connect to your server card has:
- The SSH command — ready to copy, with your server's IP address
- Root password — hidden until you click Show (it isn't emailed). Lost or never noted it? ⋯ → Reset root password sets a new one and shows it there.
- SSH port —
22
If you added an SSH key when creating the server, it's already in /root/.ssh/authorized_keys and you can skip straight to connecting.
Connecting with a password (quickest)
From macOS or Linux
ssh root@your.vps.ipFirst time you connect, it asks you to verify the server's fingerprint — type yes. Then enter your root password.
From Windows 10/11
Windows has SSH built-in. Open PowerShell and run the same command:
ssh root@your.vps.ipFrom older Windows or if you prefer a GUI
Use PuTTY. In the main window:
- Host Name:
your.vps.ip - Port: 22
- Connection type: SSH
- Click Open.
It asks for username (root) and then password.
Setting up key-based auth (recommended for daily use)
Key-based auth is more secure than passwords and lets you skip typing the password every time.
Generate a key on your machine
ssh-keygen -t ed25519 -C "you@yourmachine"Press Enter to accept defaults (key saved at ~/.ssh/id_ed25519). Optionally set a passphrase — it encrypts the key file so a stolen laptop can't be used to log in to your servers.
Copy the public key to the VPS
ssh-copy-id root@your.vps.ipOr manually: copy the contents of ~/.ssh/id_ed25519.pub, SSH in with password auth, and append it to /root/.ssh/authorized_keys:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... you@yourmachine" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keysTest it
ssh root@your.vps.ipIf it connects without asking for a password, key auth is working.
Disable password auth (hardening)
Once keys work, disable password login so brute-force attempts can't succeed. Edit /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-passwordThen reload sshd:
systemctl reload sshdDon't do this until you've confirmed key auth works. If you disable passwords and your keys don't work, you'll lock yourself out. The browser Console on the server page can rescue you, but it's easier to avoid the situation.
Creating a non-root user (recommended)
Running as root all the time is risky. Create a regular user and use sudo for admin tasks:
adduser jane
usermod -aG sudo jane # on Debian/Ubuntu
# or: usermod -aG wheel jane # on AlmaLinux/RockyCopy your SSH key to the new user:
mkdir -p /home/jane/.ssh
cp /root/.ssh/authorized_keys /home/jane/.ssh/
chown -R jane:jane /home/jane/.ssh
chmod 700 /home/jane/.ssh
chmod 600 /home/jane/.ssh/authorized_keysFrom now on, connect as ssh jane@your.vps.ip and use sudo for admin commands.
Common problems
- "Permission denied (publickey)" — your key isn't in
authorized_keysor file permissions are wrong.authorized_keysmust be mode 600 and.ssh/must be mode 700. - "Connection timed out" — the server is off, restarting, or port 22 is blocked by a firewall (the panel's Firewall card or ufw/firewalld inside the server). Check the server's status in the panel.
- "Host key verification failed" — you reinstalled the VPS and the old host key is cached. Delete the old entry:
ssh-keygen -R your.vps.ip, then reconnect. - Connection drops after a few minutes — add
ServerAliveInterval 60to your~/.ssh/configto send keepalives.
Stuck? Open the Console on the server page to look from the inside, or write to us: Help → Write to us.