| Method | Best for | Requirements |
|---|---|---|
| SSH | Terminal sessions, file transfer with scp or sftp, scripting | OpenSSH client, truss ssh setup run once |
| rSSH (interactive sessions) | Debugging and editing inside an IDE | VS Code or Cursor with the Remote - Tunnels extension, a Microsoft or GitHub account |
SSH sessions must be enabled for your Baseten workspace. Contact support to request access. rSSH is available to all workspaces.
Configuration at a glance
Configure both methods on theInteractiveSession field of your TrainingJob. Set session_provider to choose the connection method. These examples set trigger=ON_STARTUP so the session is available from job start; the default is ON_DEMAND, covered in Trigger modes:
config.py
InteractiveSession fields.
Trigger modes
Thetrigger field controls when the session’s container stays alive for interactive use, and applies to both SSH and rSSH.
| Mode | When to use | Behavior |
|---|---|---|
on_startup | Develop interactively, run commands, or test code while training runs. | Session is active from job start. Your start_commands still run alongside the session. |
on_failure | Debug a failing training run. Your most common choice for production jobs. | Session activates when training exits with a non-zero exit code. The container stays alive for you to inspect the failure. |
on_demand | Decide later whether you need a session. This is the default. | Session activates when you connect (SSH) or authenticate through the device code flow (rSSH), or when you change the trigger on a running job. |
On-demand session activation
If you pushed a job withon_demand (the default), activate it in one of two ways:
- SSH: Connect with
ssh training-job-<job_id>-<node>.ssh.baseten.co. The session activates on first connection. - rSSH: Complete the device code flow. Open the Auth URL and enter the Auth Code from
truss train isession.
Session management
Both SSH and rSSH sessions share the same management commands.Session status
Check auth codes, connection status, and trigger:Live session logs
The--tail flag on truss train logs displays a live view with the session table pinned at the top and training logs streaming below:
Session timeout
Use--update-timeout to add minutes to the session expiry:
isession options.