Hasty Briefsbeta

Bilingual

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.