SSH Access
Daytona provides SSH access to your sandboxes using token-based authentication. This allows you to connect from local terminals, IDEs, and development tools without installing additional software.
Access from Dashboard
Create an SSH access token directly from the Daytona Dashboard ↗.
- Navigate to Sandboxes ↗
- Locate the sandbox you want to create an SSH access token for
- Click the sandbox options menu (⋮)
- Select Create SSH Access
- Set the expiration time (defaults to 60 minutes)
- Click Create
Daytona generates a token and displays it in the modal. Copy the token and use it to connect to your sandbox.
Access via CLI
Daytona provides a CLI command to create an SSH access token for a sandbox:
daytona createWhen you create a sandbox, Daytona displays the SSH command automatically in the output:
Sandbox '<sandboxId>' created successfullyConnect via SSH: daytona ssh <sandboxId>Open the Web Terminal: https://22222-<sandboxId>.proxy.daytona.workTo SSH into an existing sandbox, use the following command:
daytona ssh <sandbox> --expires 60Access via token
You can create SSH access tokens programmatically. The token can then be used to connect manually:
from daytona import Daytona
daytona = Daytona()sandbox = daytona.get("sandbox-abc123")
# Create SSH access tokenssh_access = sandbox.create_ssh_access(expires_in_minutes=60)print(f"SSH Token: {ssh_access.token}")import { Daytona } from '@daytonaio/sdk'
const daytona = new Daytona()const sandbox = await daytona.get('sandbox-abc123')
// Create SSH access tokenconst sshAccess = await sandbox.createSshAccess(60)console.log(`SSH Token: ${sshAccess.token}`)require 'daytona'
daytona = Daytona::Daytona.newsandbox = daytona.get('sandbox-abc123')
# Create SSH access tokenssh_access = sandbox.create_ssh_access(expires_in_minutes: 60)puts "SSH Token: #{ssh_access.token}"curl 'https://app.daytona.io/api/sandbox/{sandboxId}/ssh-access?expiresInMinutes=60' \ --request POST \ --header 'Authorization: Bearer <API_KEY>'To connect to your sandbox, use the following command:
ssh <token>@ssh.app.daytona.ioConnect with VS Code
You can connect VS Code directly to your sandbox using the Remote SSH extension.
- Install the Remote Explorer extension ↗
- Add a new SSH connection
- When prompted for the SSH connection URL, paste the SSH command from above
For more information, see the VS Code Remote SSH documentation ↗.
Connect with JetBrains IDEs
JetBrains Gateway provides remote development support for connecting to your sandbox.
- Download JetBrains Gateway ↗
- Add a new connection
- When prompted for the SSH connection URL, paste the SSH command from above
- Select the IDE to install in your sandbox
Token management
Expiration
SSH access tokens expire automatically after 60 minutes. You can specify a custom expiration time when creating the token using the expires_in_minutes parameter.
Revoke token
Revoke SSH access tokens before expiry:
# Revoke specific SSH access token for the sandboxsandbox.revoke_ssh_access(token="specific-token")// Revoke specific SSH access token for the sandboxawait sandbox.revokeSshAccess('specific-token')# Revoke specific SSH access token for the sandboxsandbox.revoke_ssh_access(token: 'specific-token')# Revoke specific SSH access tokencurl 'https://app.daytona.io/api/sandbox/{sandboxId}/ssh-access?token=specific-token' \ --request DELETE \ --header 'Authorization: Bearer <API_KEY>'
# Revoke all SSH access for the sandboxcurl 'https://app.daytona.io/api/sandbox/{sandboxId}/ssh-access' \ --request DELETE \ --header 'Authorization: Bearer <API_KEY>'Related
- Web Terminal: browser-based terminal access to sandboxes
- Preview: generate preview URLs for accessing sandbox services