- name
- remote-node-ssh
- description
- >
- requires
- 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 transferopenclawCLI — for node protocol commands and node status checks
Your 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 <node-alias> "whoami"With full shell environment:
ssh <node-alias> "source ~/.profile 2>/dev/null; node --version"File Transfer (SSH only)
# To node
scp file.txt <node-alias>:/tmp/
# From node
scp <node-alias>:/tmp/result.txt ./
# Sync a directory
rsync -avz ./data/ <node-alias>:~/data/Check Node Status
openclaw nodes statusDisconnect Recovery
- Check:
openclaw nodes status - If disconnected, verify the node is reachable via SSH:
ssh <node-alias> "echo ok" - If reachable, restart the OpenClaw node service on the remote machine using its service manager
- Verify:
openclaw nodes status
Constraints
- Node protocol: no file transfer, no TTY/interactive sessions, minimal PATH
- SSH: requires network reachability (LAN, Tailscale, or VPN)
- Long tasks: use SSH +
nohup/tmuxto avoid timeouts