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.

3 MIN READ

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.ip

First 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.ip

From older Windows or if you prefer a GUI

Use PuTTY. In the main window:

  1. Host Name: your.vps.ip
  2. Port: 22
  3. Connection type: SSH
  4. Click Open.

It asks for username (root) and then password.

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.ip

Or 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_keys

Test it

ssh root@your.vps.ip

If 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-password

Then reload sshd:

systemctl reload sshd

Don'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.

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/Rocky

Copy 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_keys

From 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_keys or file permissions are wrong. authorized_keys must 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 60 to your ~/.ssh/config to send keepalives.

Stuck? Open the Console on the server page to look from the inside, or write to us: Help → Write to us.

Still stuck?

Chat with a real engineer — median response under 3 minutes, any time of day.

Contact support