When we started our recent Scrum implementation, the team was located in the same office, but we wanted the capacity to be able to work in a distributed manor in case we had another earthquake here in Christchurch.
We settled on using a Trello to handle the backlog, and a Google Spreadsheet to mirror our physical board. This means that if anyone is working remotely, they have access to the User Story and Acceptance Criteria from Trello, and a view of the current state of the tasks from the spreadsheet.
The spreadsheet also produces the burn down for the sprint, and provides a lot of the stats that we examine during the Sprint Retrospective, so it's provided a lot of benefits.
Unfortunately we never went any further looking for an online visual representation of the board, since everyone was quite happy with the physical board. Trello is nice for moving tasks between To Be Done/Doing/Done, but it doesn't have the nice snow-plough effect that you get on a physical board.
We did look briefly at SeeNowDo, which is free, and "Looks" like a scrum board, and I've heard of other distributed teams using is successfully, so it might be worth checking out.
If you're interested, I've written a series of posts about our search for an online Scrum board, how we import a backlog into Trello, and back up our Trello boards into a Google Spreadsheet.