This page shows the SSH path into the same box model as run9 box exec -it. If a standard ssh client fits your terminal habits better, use that.
Add your SSH public key
Generate a key locally if you do not already have one you want to use:
ssh-keygen -t ed25519 -C "run9 laptop" -f ~/.ssh/run9
cat ~/.ssh/run9.pub
That example writes the private key to ~/.ssh/run9. Keep that path in mind for the ssh -i ~/.ssh/run9 ... command below.
Then open Portal and add that public key:
- Open the user menu in the top-right corner.
- Open
Profile. - Find the
SSH Keyscard. - Fill
Labelwith a name such asLaptop. - Paste the full
.publine intoPublic Key. - Click
Add key.
Find the exact SSH target for a box
Portal shows the final SSH command on each box detail page:
- If you are not already in the target org workspace, open the user menu, go to
My Orgs, and clickOpen Workspaceon that org. - In the workspace sidebar, open
Boxes. - Click the target box.
- Read the
Connectcard.
That card shows three things:
Default SSHAlternative ShellEquivalent CLI
The target format depends on the org type:
- shared org:
ssh -p 2233 [email protected] - personal org:
ssh -p 2233 [email protected]
Connect
Use the exact target from the Connect card.
If you generated ~/.ssh/run9 in the example above, tell SSH to use that private key:
ssh -i ~/.ssh/run9 -p 2233 <target-from-portal>
If you already use a default SSH identity or a matching ~/.ssh/config entry, you can omit -i.
Useful variants:
ssh -i ~/.ssh/run9 -p 2233 <target-from-portal> 'uname -a'
ssh -i ~/.ssh/run9 -t -p 2233 <target-from-portal> 'bash -l'
If the image does not have bash, stay with the default SSH form without a remote command and use the shell that the box already provides.
What this path is for
Product SSH in run9 stays focused on terminal shell access and one-off remote commands.
That keeps the path simple: open a shell, or run one remote command.
For file transfer, File Transfer and run9 box cp are the matching path. scp, sftp, port forwarding, and SSH editor workflows that depend on those features are outside this path today.
If SSH does not open a shell
Check these first:
- the public key is on your user
ProfileinSSH Keys, not in org settings - the SSH target came from the target box’s
Connectcard - if you generated
~/.ssh/run9, you are using-i ~/.ssh/run9so SSH picks the matching private key
What SSH means in run9
Product SSH is not a second runtime model. It is another way to enter a foreground exec:
- a cold box wakes automatically when you connect
- if you do not pass a remote command, run9 opens the default
/bin/sh - if you disconnect, that foreground session ends
- the
Equivalent CLIline in Portal shows the matchingrun9 box exec -it ...command