Private pilot. By invitation.Request access

Node Lodge

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, …) and 0.0.0.0/0 are 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, with sudo.
  • 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.