Is there any chance to host multiple services (like a webserver, XMPP server, ssh server) behind one .onion address? Or do I have to create a single hidden service for each service/server?
You can have multiple services on the same .onion address. You can forward each port to a different service.
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 8000 127.0.0.1:8000
HiddenServicePort 81 192.168.0.102:80
This (in your
torrc) would expose 3 services on 1 .onion address. The first 2 live on the same host as the Tor relay. The 3rd lives on another host in the local network.