Show HN: Sshsync – CLI tool to run shell commands across multiple remote servers
a year ago
- #SSH
- #Automation
- #CLI
- sshsync is a CLI tool for running shell commands across multiple remote servers via SSH.
- Requires asyncssh for SSH connections and ssh-agent for passphrase-protected keys.
- Uses SSH aliases from ~/.ssh/config, not actual hostnames.
- Features include concurrent command execution, group-based targeting, file push/pull, and dry-run mode.
- Requires Python 3.10 or higher; install via pip or manual clone.
- Commands include 'all', 'group', 'push', 'pull', 'gadd', 'hadd', 'sync', 'ls', and 'version'.
- Configuration stored in ~/.config/sshsync/config.yaml; uses ~/.ssh/config for host details.
- Includes operation history and logging stored in platform-specific locations.
- Examples provided for common use cases like checking disk space, restarting services, and file transfers.
- Future updates may include live results display, performance optimizations, and additional authentication methods.
- Licensed under MIT License.