Understanding SSH Access
When you deploy an OpenClaw instance, ClawControl:- Generates a unique ED25519 SSH key pair
- Uploads the public key to your cloud provider
- Configures the server to accept your key
- Stores the private key locally at
~/.clawcontrol/deployments/NAME/ssh/id_ed25519
Quick SSH Access
Launch SSH
From ClawControl’s main menu:ClawControl detects your terminal and shows available deployments:
Select deployment
Use arrow keys to select a deployment and press Enter.ClawControl opens a new terminal window/tab with an active SSH session:
Supported Terminals
ClawControl automatically detects and supports:- macOS: Terminal.app, iTerm2, Warp, Hyper, Alacritty, Kitty
- Linux: gnome-terminal, konsole, xterm, xfce4-terminal, terminator
- Windows: Windows Terminal, cmd.exe, PowerShell
Manual SSH Connection
You can also connect manually without ClawControl:Get Connection Details
From/status or /list, note your deployment’s:
- Deployment name
- Server IP address
Connect via Terminal
Add to SSH Config
For frequent access, add to~/.ssh/config:
Common SSH Tasks
Check OpenClaw Status
View OpenClaw Logs
Restart OpenClaw
Check System Resources
Update OpenClaw
Check Network Connectivity
Advanced SSH Usage
Port Forwarding
Access the OpenClaw gateway through an SSH tunnel:http://localhost:8080 in your browser.
Copy Files to Server
Copy Files from Server
Run Remote Command
Execute a command without interactive session:Troubleshooting SSH
Connection Timeout
Problem: SSH connection times out Solutions:- Verify server is running in your cloud provider’s dashboard
- Check server IP address hasn’t changed
- Verify firewall allows SSH (port 22)
- Try from
/statusto see if server is reachable
Permission Denied
Problem:Permission denied (publickey)
Solutions:
-
Verify you’re using the correct SSH key:
-
Check key permissions:
- Ensure you’re using the deployment name correctly
Host Key Verification Failed
Problem: SSH warns about host key mismatch This happens if you destroyed and recreated a server with the same IP. Solution:/ssh which bypasses known_hosts checking.
Terminal Doesn’t Open
Problem: ClawControl can’t open terminal Solutions:- Check error message for details
- Try manual SSH connection
-
Set
TERMINALenvironment variable: - Use manual SSH as fallback
SSH Security
Key Management
Best practices:- Keys are stored with restrictive permissions (600)
- Each deployment has isolated keys
- Keys are deleted when you run
/destroy - Don’t copy keys to insecure locations
Access Control
By default, servers only accept:- SSH key authentication (no passwords)
- Connections from ClawControl’s generated key
- Root user access
Firewall Configuration
Cloud providers typically allow SSH by default. To restrict: Hetzner:- Go to Cloud Console
- Select your server
- Firewalls → Create Firewall
- Allow SSH only from your IP
- Go to Networking → Firewalls
- Create Firewall
- Allow SSH only from your IP
- Apply to your droplet
SSH with Tailscale
If you enabled Tailscale during deployment:Connect via Tailscale IP
Benefits
- Security: Only accessible from your Tailscale network
- No public SSH: Disable SSH on public IP
- NAT traversal: Works behind firewalls
- Encrypted: End-to-end encryption
VS Code Remote SSH
Connect VS Code to your server:Add SSH host
Press
Cmd+Shift+P (Mac) or Ctrl+Shift+P (Linux/Windows)Select: “Remote-SSH: Add New SSH Host”Enter:- Edit files directly on the server
- Run terminal commands
- Debug Node.js applications
- Use VS Code extensions remotely
Next Steps
- Monitoring Logs - View OpenClaw logs from ClawControl
- Destroying Deployments - Clean up servers and SSH keys
- Configuration Reference - Advanced server configuration