Connecting over SSH
Once your rental reaches active_connected, you get one connection string that lands you on your GPU as root. This page covers what that string means, how your key gets there, and how to move work in and out.
There is no provider login, no console, and no jump host to learn. The rented box dials home and opens a reverse tunnel to our gateway on a port allocated to you. You point your SSH client at that port on gpu.ipxtechholding.com, and you land on your machine. The provider's real address is never exposed, and the only hostname you ever type is ours.
Your connection string only appears once the rental is in active_connected. If you just rented, poll the rental until the connection_string field is populated. See Renting a GPU for the lifecycle and polling loop.
The connection string
Every rental exposes a connection_string in the console and in the API. It always has the same shape:
# -p is the port allocated to your rental, not 22 # the host is always the IPX gateway $ ssh -p 20137 root@gpu.ipxtechholding.com
Two parts matter, and only one of them changes between rentals:
- The host is always
gpu.ipxtechholding.com. This is the IPX gateway. You never connect to a provider IP, and you never need one. If you see any other hostname, it did not come from us. - The port (here
20137) is allocated to your rental. It is how the gateway routes you down the reverse tunnel to the right box. A different rental gets a different port. Always use the port from that rental'sconnection_string.
The default SSH port 22 will not reach your box. The gateway only routes the per-rental port from your connection string. If you drop -p, the connection will fail or land nowhere useful.
Add your SSH key first
We inject your public key into the box at boot. There are no passwords and no shared logins, so a box you rent without a registered key has nothing to authenticate against. Add your key before you rent.
Confirm you have a key locally
# list existing public keys $ ls ~/.ssh/*.pub # no output? generate one (ed25519 is a good default) $ ssh-keygen -t ed25519 -C "you@example.com" # print the public half to paste into IPX $ cat ~/.ssh/id_ed25519.pub
Register the .pub file only. Your private key never leaves your machine. If a tool ever asks you to paste a key that does not start with ssh-ed25519 or ssh-rsa, stop.
Register it with IPX
Add the public key in Settings, or post it to the API with your bearer token. Create or rotate that token at Settings › API access and keep it in an environment variable.
# token from Settings > API access
$ export IPX_TOKEN="your-token-here"
$ curl -X POST https://gpu.ipxtechholding.com/api/v1/ssh_keys \\
-H "Authorization: Bearer $IPX_TOKEN" \\
-H "Content-Type: application/json" \\
-d "{\\"name\\":\\"laptop\\",\\"public_key\\":\\"$(cat ~/.ssh/id_ed25519.pub)\\"}"
{
"id": 1,
"name": "laptop",
"fingerprint": "SHA256:Hk7...0aZ"
}
Compare that fingerprint against your local key to confirm you registered the right one:
$ ssh-keygen -lf ~/.ssh/id_ed25519.pub
# 256 SHA256:Hk7...0aZ you@example.com (ED25519)
You can register more than one key. Every key on file is injected at boot, so a key per machine means you can reach any box from any of them.
First connection
With a key on file and a rental in active_connected, copy the connection string and run it. The first time, your client will ask you to trust the gateway's host key.
-
Run the connection string
Paste it exactly as given, including the
-pport.terminal$ ssh -p 20137 root@gpu.ipxtechholding.com
-
Accept the gateway host key
You connect to the IPX gateway, so the fingerprint you confirm is ours and stays the same across rentals. Type
yesto add it toknown_hosts.terminal# The authenticity of host '[gpu.ipxtechholding.com]:20137' can't be established. # ED25519 key fingerprint is SHA256:... # Are you sure you want to continue connecting (yes/no)? yes
-
Confirm the GPU
You land as root. Check the hardware before you start a long job.
terminalroot@gpu:~# nvidia-smi # +-----------------------------------------------------------------------------+ # | NVIDIA-SMI 550.xx Driver Version: 550.xx CUDA Version: 12.4 | # | 0 NVIDIA A100-SXM4-80GB On | 00000000:00:1E.0 Off | 0 | # +-----------------------------------------------------------------------------+
If nvidia-smi lists the GPU you rented, the box is healthy and the meter is running. You are ready to work.
A couple of useful first commands
# how much disk you have to work with root@gpu:~# df -h / # CPU and memory on the box root@gpu:~# nproc && free -h # watch GPU utilization live while a job runs root@gpu:~# watch -n1 nvidia-smi
Moving files in and out
Anything that speaks SSH works over the same allocated port. Pass the port the same way you do for ssh: scp uses an uppercase -P, and rsync passes it through -e.
scp for one-off copies
# NOTE: scp uses -P (uppercase), unlike ssh # push a local file up to the box $ scp -P 20137 ./model.tar.gz root@gpu.ipxtechholding.com:/root/ # pull a result back down $ scp -P 20137 root@gpu.ipxtechholding.com:/root/output.pt ./ # copy a whole directory with -r $ scp -P 20137 -r ./dataset root@gpu.ipxtechholding.com:/root/dataset
rsync for large or resumable transfers
For big datasets, checkpoints, or anything you might need to resume, rsync is the better tool. It only sends what changed and can pick up where it left off.
# the allocated port goes inside -e # upload a dataset, resumable and progress-aware $ rsync -avzP -e "ssh -p 20137" ./dataset/ root@gpu.ipxtechholding.com:/root/dataset/ # download checkpoints back when training finishes $ rsync -avzP -e "ssh -p 20137" root@gpu.ipxtechholding.com:/root/checkpoints/ ./checkpoints/
The box is ephemeral. When you tear it down, its disk is gone. Treat /root as scratch space and rsync anything you want to keep back to your own storage before the meter stops.
Tunnel a port back to your laptop
Running a notebook or a web UI on the box? Forward its port over the same connection instead of opening anything on the box.
# reach a service on box port 8888 at localhost:8888
$ ssh -p 20137 -L 8888:localhost:8888 root@gpu.ipxtechholding.com
Tear it down when you are done
Billing is metered per second, with a one-minute minimum, from the moment the tunnel connects until teardown. Closing your SSH session does not stop the meter. The box keeps running, and you keep paying, until you terminate the rental.
# terminate the rental and stop the meter
$ curl -X DELETE https://gpu.ipxtechholding.com/api/v1/rentals/RENTAL_ID \\
-H "Authorization: Bearer $IPX_TOKEN"
Keep a box only as long as you actually need it. Per-second billing rewards short, deliberate sessions: connect, run the job, pull your results, terminate. If you might forget, set a hard spend cap when you rent and we reclaim the box the moment it is hit. See Billing & credits for caps and how the meter works.