Recent versions of Barman allow you to do WAL archiving without using an rsync/ssh-based archive_command. Instead, the backup server uses streaming replication via the standard pg_receivexlog command to build up a WAL archive. The big new feature in Barman 2.0 is that it can take base backups using pg_basebackup, rather than rsync. This means that it can be used without SSH access between servers (only replication connections to Postgres on port 5432).
This separate instance is then called from primary's "archive_command", which usually looks like: archive_command = 'rsync -a %p [email protected]:/var/lib/barman/main-db-server/incoming/%f' and once rsync'd barman does it's own magic on it (thru cron). Based on my observations, wal-e is more powerful if you want to store archives remotely (and is primarily an archiving solution), and barman is kinda the official backup solution (2ndQuadrant is a big contributor in the community) plus it offers point-in-time recovery.
Barman + Repmgr (which can do an automatic failover or a manual switchover) is a powerful combo. If only there were reliable tools to determine the master and slave (like Redis Sentinels)