LiveTerminal gives you a fast, direct way to run an interactive terminal session on a remote device, even when that device sits behind a protected network — no firewall changes, VPN, or infrastructure setup required.
Important: The Addigy LiveTerminal user has access to sudo without a password on every device where this integration is enabled. It does this by adding a hidden admin user.
If you're having trouble with LiveTerminal, see FAQ: Troubleshooting Addigy LiveTerminal.
Overview
LiveTerminal works through an encrypted tunnel connection created via a direct SSH session. Because of this tunneling approach, it provides a fast, direct connection to the device.
- Live command responses
- No infrastructure or firewall changes needed
- Tab completion
- Keyboard interrupts
- Support for continuous commands (
tail -f,top, etc.) - Native text editors (
nano,vim, etc.) - Instant terminal access
- Password-less login
- Password-less sudo
- Multiple sessions on the same or different machines
- Multiple SSH windows
- Cloud-based, for quick access from anywhere
Security Features
Because LiveTerminal provides the highest level of console access to your Mac devices, its design is heavily focused on security:
- An encrypted public/private key pair is generated for each session and removed when that session expires.
- Each session is validated using the client's and agent's Addigy credentials, to confirm both are on authorized Addigy machines.
- A secondary public/private secret is passed to the server and agent, verified when the connection is established.
- The AddigySSH user is hidden from all UI options and home directories — effectively invisible, and won't disturb any other users on the agent (its home directory lives at
/var/AddigySSH). - A random 32-character UUID4 is generated as the AddigySSH user's password at creation time, so no password repeats across devices.
- The AddigySSH user is added as a sudoer via
/private/etc/sudoers.d/AddigySSH-perm, referenced from/etc/sudoers, to ensure that file isn't modified in any other way.
How to Enable LiveTerminal
Note: AddigySSH won't be enabled on a device until it has run through its policy instructions. To queue those instructions immediately, click Deploy Now at the top right of the policy.
Enable LiveTerminal Globally
- Navigate to Account > Integrations > Addigy Add-ons and select the LiveTerminal tile.
- In the modal that opens, toggle the integration on. This enables LiveTerminal across all policies.
Manage LiveTerminal Within Policies
Once enabled globally, LiveTerminal can be enabled or disabled for individual policies.
- Navigate to a policy > Settings > Remote Control.
Note: A parent policy's setting supersedes its children's. If LiveTerminal is enabled in the parent policy, it will be enabled in all child policies, even if a child policy has it disabled individually.
How to Start a LiveTerminal Session
From the Devices Page
- On the Devices page, open the dropdown next to a device and select LiveTerminal.
- Specify a time limit and select Start Session. A LiveTerminal session opens in a new tab.
From GoLive
- On a device's GoLive page, select the LiveTerminal tab.
- Specify a time limit and select Start Session. The session launches in the terminal below.
Frequently Asked Questions
Does enabling LiveTerminal expose sudo access to anyone?
The AddigySSH user has password-less sudo access on devices where LiveTerminal is enabled, but it's hidden from the UI and uses a unique, randomly generated password per device — it's not a general-purpose account available to end users.
If I disable LiveTerminal on a child policy, will it actually be disabled?
Not necessarily. If the parent policy has LiveTerminal enabled, that setting overrides the child policy's setting — the child will still have it enabled.
Why isn't LiveTerminal working on a device right after I enable it?
AddigySSH only activates once the device has run through its policy instructions. If you need it right away, click Deploy Now on the policy to queue those instructions immediately rather than waiting for the next scheduled run.