Files
hermes-config/skills/devops/selfhosted-migration/references/ovh-vps-provisioning.md
T
2026-07-12 10:17:17 -04:00

52 lines
2.1 KiB
Markdown

# OVHcloud VPS Provisioning Quirks
OVH VPS instances have specific behaviors that differ from a fresh Ubuntu install. Documenting what worked.
## Initial access
- OVH gives you an IPv4 and a root password via email. But **the password often doesn't work over SSH** — OVH may require first login via their web KVM console.
- **OVH KVM has no clipboard passthrough.** You cannot paste into the console. Type commands manually or use short one-liners.
- The default user on OVH Ubuntu images is **`ubuntu`**, not `root`. `~` expands to `/home/ubuntu/`. If you write an authorized_keys as `ubuntu` via KVM, SSH as `ubuntu@ip` — NOT `root@ip`.
- `/root/` may not exist on first boot (cloud-init hasn't created it). Run `sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/` to enable root SSH.
## First boot issues
- **apt lock on first boot.** The cloud-init process runs apt update/upgrade on first boot, holding `/var/lib/apt/lists/lock`. Wait 60 seconds or `rm /var/lib/apt/lists/lock /var/lib/dpkg/lock` then retry.
- **OVH's Ubuntu 26.04 image ships with 4GB RAM, 38GB disk** on the smallest tier. Plenty for nginx + Tailscale + certbot.
## SSH key bootstrap (no clipboard workaround)
From the KVM console, type (no paste available):
```bash
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... user@host' > ~/.ssh/authorized_keys
```
Then from the Hermes server:
```bash
ssh ubuntu@<vps-ip> "sudo cp ~/.ssh/authorized_keys /root/.ssh/ && sudo chmod 600 /root/.ssh/authorized_keys"
```
After this, `ssh root@<vps-ip>` works with key auth.
## Tailscale setup
```bash
curl -fsSL https://tailscale.com/install.sh | sudo sh
sudo tailscale up --accept-routes --accept-dns=false
```
The `--accept-dns=false` flag prevents Tailscale from overriding the VPS's DNS — important if the VPS needs to resolve its own hostname for Let's Encrypt challenges. The auth URL must be opened in a browser logged into the Tailscale account.
## Firewall
OVH VPS instances have no firewall by default. Set up ufw:
```bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw --force enable
```