Use Tailscale with AI Workbench#
Overview#
- Tailscale is a networking solution that lets you securely connect to devices on private networks.
Private networks are typically inaccessible from other networks by design. For example, you can’t just connect to a workstation on your home network from a coffee shop without significant setup or leave your home network and workstation extremely insecure.
Tailscale provides both access and security through a secure, peer-to-peer mesh network called a “tailnet”. You just install an open-source client on your devices (including your laptop) and then authenticate them to the tailnet. Then you can connect from your laptop even when on a different network, e.g., a coffee shop’s Wi-Fi.
- NVIDIA Sync integrates with Tailscale to maintain connections to private networks.
NVIDIA Sync handles the installation of the Tailscale client and authentication into a tailnet (see here).
Once you add a device to Sync, you can authenticate it to a tailnet and maintain your connection to the device while moving across the original private network (e.g., home wifi) and another network (e.g., coffee shop Wi-Fi).
Sync automatically handles the switch between the networks, so you don’t have to.
- AI Workbench can use Tailscale via NVIDIA Sync, but it requires some setup.
The Tailscale feature is not yet native to AI Workbench and relies on NVIDIA Sync. If Sync is removed or the remote device is removed from the tailnet, the Tailscale feature will break for AI Workbench.
First, your laptop must be on the same network as the remote to be added. Second, you must edit the contexts.json configuration file to update metadata for a proxy command.
Key Concepts#
- Sync-managed device
A remote location created through NVIDIA Sync instead of by manually entering SSH details. AI Workbench treats this as a remote location whose connection behavior is partly defined by Sync.
- Sync SSH hostname
The host alias for the Sync-managed device that NVIDIA Sync writes to the SSH configuration file. AI Workbench uses that alias to discover whether Sync has configured a proxy path, such as Tailscale.
- Tailscale enrollment via Sync
The remote system’s state is joined to your Tailscale network. When the system is enrolled, Sync can expose a Tailscale-backed SSH route that AI Workbench can use.
- AI Workbench Contexts file
The .nvwb/contexts.json` file with configuration information for the locations connected to your local Desktop App. The local location will appear in it if you’ve done the full local install, as well as any remote locations you’ve added.
- Sync SSH Configuration Type
Designation in the Workbench contexts.json file that indicates the SSH config is handled by Sync.
Prerequisites#
Verify the following before starting.
You have the AI Workbench Desktop App and NVIDIA Sync installed locally on your laptop
You have already enabled the Tailscale integration for NVIDIA Sync (see here for how)
The remote to be added has an Ubuntu 22.04 or 24.04 operating system
Your laptop is on the same network as the remote to be added
The local IP address for the remote on the network
The SSH config alias that NVIDIA Sync uses for the device, typically the local IP address
Create a Tailscale Location for AI Workbench#
- Step One: Add the remote device to NVIDIA Sync and connect to it.
Make sure you are on the same network as the remote to be added
Double-click the NVIDIA Sync icon to open the application
Go to the Settings window by selecting the Settings Wheel
Go to the Devices tab
If you are connecting to the device for the first time, select + Add New and enter the IP address, username, password, and port
If the device is already in your SSH configuration, scroll down and select it from the existing devices
When the device shows up in the Added Devices section, use the option dots to connect to it
- Step Two: Launch AI Workbench on the remote through NVIDIA Sync.
After the connection succeeds, select AI Workbench from the Sync pop-over
Wait for the AI Workbench location window to open
- Step Three: Add the remote to Tailscale through NVIDIA Sync.
Select NVIDIA Sync > Settings Window > Devices Tab
Then select <device-name> > Option Dots > Add to Tailscale
Follow the guidance in the modal and select Open Auth Key Settings
Follow the guidance in the Tailscale console to create the necessary key
Paste the key into the NVIDIA Sync modal and select Add Device
Follow the guidance in the terminal when it opens
- Step Four: Find the location entry in the .nvwb/config.json file.
Open the ./nvwb/config.json file with a text editor
macOS and Ubuntu laptops: The file is found in the home folder at ~/.nvwb
Windows: There are two cases
In remote-only mode, the file is found at C:UserstwhitehouseAppDataLocalNVIDIA CorporationAI Workbench.nvwb
In full local install mode, the file is found in the WSL distribution NVIDIA-Workbench at ~/.nvwb
Find the location entry that has the name sync-<ip-address> for the device’s IP address
- Step Five: Edit the location entry to point to NVIDIA Sync.
Set
contextTypetosyncAdd or update
contextTypeMetadataso thataliasmatches the Sync-managed SSH alias for the remote system
{ "contextType": "sync", "contextTypeMetadata": { "alias": "<sync-ssh-alias>" } }
- Step Six: Re-open the location in AI Workbench.
Save
contexts.jsonOpen Locations Manager > Location Card
Confirm the location connects successfully