Skip to main content
SSH gives you an interactive shell on a machine.
CLI
SSH requests can be made for machines that are sleeping or awake. If a machine is asleep, Dedalus will wake the machine for you and open the connection once the machine and SSH tunnel are ready. New SSH access waits for an explicit sleep to finish, then wakes the machine. SSH is unavailable after a machine is destroyed.

Session lifetime

Once connected, the session closes after 30 minutes without SSH activity or after 12 hours total, whichever comes first. Activity is defined as any SSH traffic in either direction. SSH session lifetime is independent of the machine’s lifecycle. If a machine sleeps during an active SSH session, that session will close. If a machine is configured with autosleep, the SSH session is treated as active work. The machine will not autosleep until the session closes, even if no other activity occurs on the machine.

Connect from the SDK

Use the SDK when your application needs to control the SSH connection itself. Generate an ephemeral key pair, keep the private key in your application, and pass the OpenSSH-formatted public key to the SDK.
The returned connection contains everything needed to configure an SSH client. Write connection.user_certificate as the OpenSSH CertificateFile. Write connection.host_trust to UserKnownHostsFile as an @cert-authority entry, using its host_pattern and public_key. Then connect to connection.endpoint on connection.port as connection.ssh_username, using the private key that matches the public key you submitted. Set IdentitiesOnly=yes, GlobalKnownHostsFile=/dev/null, and StrictHostKeyChecking=yes so OpenSSH uses only the temporary identity and Dedalus host authority. Delete the private key, certificate, and host-trust files when the connection closes.

Raw API

The CLI handles key generation and connection setup for you. The raw Machines API requires an OpenSSH public key. Generated SDK resource methods mirror that endpoint and require the same field.
string
required
The machine to open SSH access to.
string
required
An OpenSSH-formatted public key. The dedalus ssh command generates and submits this value automatically.
Last modified on September 10, 2026