Docs
Connect over SSH
Generate a key, allow your IP, connect as ubuntu on port 22. Tunnel web UIs over SSH and fix the common connection errors.
Every machine accepts one thing from the internet: SSH on port 22, from the address you give, with the key you give.
Create a key
Use an Ed25519 key:
ssh-keygen -t ed25519 -C "you@laptop"
cat ~/.ssh/id_ed25519.pub
Paste the single line from the .pub file. Never paste the private key.
Accepted key types:
| Type | Starts with |
|---|---|
| Ed25519 | ssh-ed25519 |
| ECDSA P-256 | ecdsa-sha2-nistp256 |
| RSA | ssh-rsa |
Allow your IP
Enter the public IPv4 address of the computer you will connect from. Find it with:
curl -4 https://ifconfig.me
Rules:
- A single address (
198.51.100.7), or a range no wider than/24(198.51.100.0/24). - Public IPv4 only. Private ranges (
10.0.0.0/8,192.168.0.0/16, …) and0.0.0.0/0are refused. - The address is fixed for the whole session.
Connecting from a network whose public address changes often? Enter its /24 range.
Connect
The reservation page shows the command once the machine is ready:
ssh ubuntu@203.0.113.42
- User:
ubuntu, withsudo. - Port: 22.
- Image: Ubuntu 24.04 LTS, NVIDIA driver R570, CUDA 12.8.
Use a specific key:
ssh -i ~/.ssh/id_ed25519 ubuntu@203.0.113.42
Reach a web UI or an API
Only port 22 is open inbound. Forward other ports through SSH:
ssh -N -L 8000:localhost:8000 ubuntu@203.0.113.42
Then open http://localhost:8000 on your computer. Same pattern for ComfyUI (8188), Jupyter (8888) or TensorBoard (6006).
Keep jobs running after you disconnect
Run long jobs inside tmux:
tmux new -s work
# start your job, then detach with Ctrl+b d
tmux attach -t work
Move files
# Upload
rsync -avz ./data/ ubuntu@203.0.113.42:~/data/
# Download
rsync -avz ubuntu@203.0.113.42:~/results/ ./results/
scp works too. Both run over the same SSH access.
Network rules
| Direction | Rule |
|---|---|
| Inbound | TCP 22 from your address only. Everything else dropped. |
| Outbound | IPv4 open, except TCP 25 (no direct SMTP). |
| IPv6 | No outbound IPv6. |
Package mirrors, Hugging Face, PyPI, GitHub and container registries are reachable. Send email through an authenticated relay on port 587.
Troubleshooting
Connection timed out
Your current public IP differs from the one you entered. Check it with curl -4 https://ifconfig.me. VPNs and mobile hotspots change it.
Permission denied (publickey)
The key on your computer does not match the key you pasted. Pass it explicitly with ssh -i. Use the ubuntu user, not root.
Connection refused right after the machine starts
SSH is still starting. Wait 30 seconds and retry.
“Waiting for its public address” The provider is attaching the address. It appears within seconds.
REMOTE HOST IDENTIFICATION HAS CHANGED
A new session reused an address you connected to before. Remove the old entry:
ssh-keygen -R 203.0.113.42
Still blocked? Write to support@nodelodge.com with your reservation number.