
If you've searched "AI agent control computer" or "AI assistant that can control my computer", you're looking for something beyond chat—an AI that can actually operate on your behalf, running commands, managing files, and executing tasks on your real machine.
This tutorial shows you how to connect Zo to your personal computer using SSH, giving your AI direct terminal access to your laptop or desktop.
Should you do this?
This is a power-user setup with real risks. By connecting Zo to your computer via SSH, you're giving your AI unconstrained access to everything on that machine—files, applications, system settings, and more.
Before proceeding, understand what you're signing up for:
-
Zo can make mistakes. An AI with terminal access can delete files, modify configurations, or run destructive commands if instructions are ambiguous.
-
Prompt injection is a real risk. If Zo processes untrusted content (emails, web pages, user inputs), a malicious prompt could hijack commands on your machine.
-
There's no undo button. Unlike a sandboxed environment, actions on your personal computer can have permanent consequences.
This setup can be genuinely useful for automation, development workflows, or controlling headless devices. It's also an impressive demonstration of what's possible. But it's not something to use casually unless you fully understand the security implications.
If you're comfortable with the risks, let's set it up.
What you'll need
-
A Zo Computer account
-
Your personal computer (macOS, Linux, or Windows with WSL)
-
An ngrok account (free tier works, but a paid plan is recommended for a fixed address)
Step 1: Generate an SSH key on Zo
First, create an SSH key pair on your Zo server. This key will authenticate Zo when connecting to your computer.
Open the Terminal in your Zo application and run:
ssh-keygen -t ed25519 -C "[email protected]"
Replace the email with your own. When prompted for a file location, press Enter to accept the default. When prompted for a passphrase, press Enter to leave it empty (required for automated connections).
View your public key:
cat ~/.ssh/id_ed25519.pub
You'll see output like:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]
Copy this entire line—you'll need it in the next step.
Step 2: Register the public key on your computer
On your personal computer, open Terminal and add Zo's public key to your authorized keys:
nano ~/.ssh/authorized_keys
If the file doesn't exist, create the .ssh directory first:
mkdir -p ~/.ssh && chmod 700 ~/.ssh nano ~/.ssh/authorized_keys
Paste the public key from Step 1, save with Ctrl + X, then Y, then Enter.
Set the correct permissions:
chmod 600 ~/.ssh/authorized_keys
Step 3: Enable SSH access on your computer
On macOS: Go to System Settings → General → Sharing → Enable "Remote Login". This starts the SSH server.
On Linux: SSH is usually pre-installed. Start and enable it:
sudo systemctl start ssh sudo systemctl enable ssh
On Windows: Use WSL (Windows Subsystem for Linux), then follow the Linux instructions inside your WSL distribution.
Step 4: Set up ngrok for remote access
Your computer is behind a firewall, so Zo can't connect directly. ngrok creates a secure tunnel that exposes your SSH port to the internet.
-
Sign up at ngrok.com
-
Install ngrok on your personal computer:
macOS (with Homebrew):
brew install ngrok
Linux:
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list sudo apt update && sudo apt install ngrok
- Authenticate ngrok with your token (find it in your ngrok dashboard):
ngrok config add-authtoken YOUR_TOKEN
- Start the tunnel:
ngrok tcp 22
You'll see output like:
Forwarding tcp://0.tcp.ngrok.io:12345 -> localhost:22
Note the hostname (0.tcp.ngrok.io) and port (12345)—you'll need these to connect.
Recommended: For a fixed address that doesn't change each time you restart ngrok, upgrade to a paid plan and reserve a TCP address. Then run:
ngrok tcp 22 --url=YOUR_RESERVED_ADDRESS.tcp.ngrok.io:YOUR_PORT
Step 5: Connect from Zo
In your Zo terminal, test the connection:
ssh -p PORT USERNAME@HOSTNAME
Replace:
-
PORTwith the ngrok port (e.g.,12345) -
USERNAMEwith your computer's username (runwhoamion your computer to find it) -
HOSTNAMEwith the ngrok hostname (e.g.,0.tcp.ngrok.io)
Example:
ssh -p 12345 [email protected]
If everything is configured correctly, you'll be connected to your personal computer from Zo's terminal.
Step 6: Create an SSH shortcut
To make connections easier, add a configuration alias. In your Zo terminal:
nano ~/.ssh/config
Add this configuration (replace with your values):
Host laptop HostName 0.tcp.ngrok.io Port 12345 User yourusername ServerAliveInterval 30 ServerAliveCountMax 3 IdentityFile ~/.ssh/id_ed25519
Save and exit. Now you can connect with just:
ssh laptop
Step 7: Tell Zo how to use the connection
Create a rule so Zo knows how to access your computer. Go to Settings → Your AI → Rules and add:
Condition: When I ask you to do something on my laptop
Instruction: Connect to my laptop using ssh laptop, run the requested commands, then disconnect.
Now you can tell Zo things like:
-
"Check what's running on my laptop"
-
"Find all PDF files on my desktop"
-
"Start the local development server on my laptop"
Important limitations
-
Your computer must be on with ngrok running and connected to the internet for Zo to reach it.
-
Free ngrok addresses change each time you restart the tunnel. Use a reserved address for reliable connections.
-
Network-dependent latency can affect command execution speed.
What you can do with this
Once connected, Zo has full terminal access to your machine. Some practical uses:
-
Remote development: Start/stop servers, run builds, check logs
-
File management: Find, organize, or back up files across machines
-
System monitoring: Check disk space, running processes, or resource usage
-
Automation: Run scripts or scheduled tasks on your personal computer
The key advantage over remote desktop tools is that Zo can operate programmatically—it doesn't need to navigate a GUI. You describe what you want, and Zo executes the appropriate commands.
Next steps
-
Connect to your Zo server via SSH — The reverse direction: access Zo from your IDE
-
Create rules for your AI — Customize how Zo behaves
-
Build automated agents — Schedule tasks that run on your connected machines