Remote Node SSH
by @jkfaris94
Run commands and transfer files between an OpenClaw gateway (VPS) and a paired local node via node protocol or SSH fallback. Covers transport selection, comm...
clawhub install remote-node-sshπ About This Skill
name: remote-node-ssh description: > Run commands and transfer files between an OpenClaw gateway (VPS) and a paired local node via node protocol or SSH fallback. Covers transport selection, common exec patterns, file transfer, and disconnect recovery. Assumes the node is already paired. For setup, see
hybrid-gateway.
requires:
- ssh
- scp
- rsync
- openclaw
homepage: https://github.com/kanso-agent/remote-node-ssh
license: MIT
Remote Node Exec
Run commands on a paired OpenClaw node from your gateway. Node protocol when connected, SSH when not.
> Setup: Node must be paired first. See hybrid-gateway.
Required Tools
This skill expects the following on your gateway machine:
ssh, scp, rsync β standard SSH tooling for fallback transport and file transferopenclaw CLI β for node protocol commands and node status checksYour remote node needs an SSH server running and an OpenClaw node agent paired to your gateway.
When to Use What
| Need | Transport |
|------|-----------|
| Run a command | exec host=node (node protocol) |
| Full shell env (brew, nvm, pyenv) | SSH with shell rc sourcing |
| Transfer files | SSH (scp / rsync) |
| Node disconnected | SSH |
| Long-running task | SSH + nohup or tmux |
Node Protocol
Fastest path. Routes through the gateway β no SSH keys needed.
exec host=node command="uname -a"
Caveat: Minimal PATH. Use full binary paths for package-manager-installed tools:
exec host=node command="/opt/homebrew/bin/python3 --version"
SSH Fallback
Use your SSH config alias (the hostname or alias you configured in your SSH config for the node).
ssh "whoami"
With full shell environment:
ssh "source ~/.profile 2>/dev/null; node --version"
File Transfer (SSH only)
# To node
scp file.txt :/tmp/From node
scp :/tmp/result.txt ./Sync a directory
rsync -avz ./data/ :~/data/
Check Node Status
openclaw nodes status
Disconnect Recovery
1. Check: openclaw nodes status
2. If disconnected, verify the node is reachable via SSH: ssh
3. If reachable, restart the OpenClaw node service on the remote machine using its service manager
4. Verify: openclaw nodes status
Constraints
nohup/tmux to avoid timeoutsπ Constraints
nohup/tmux to avoid timeouts