Hi Martin,
if I have unterstood your question, that's perfectly possible, as fabric uses SSH to access remote servers and execute tasks. So, if you create a reverse tunnel as this:
ssh -R localhost:5555:localhost:22 your_server
You can use fabric as this on your_server:
fab -H localhost --port 5555 your_task
If you're using fabric from another server that access to
your_server, you must configure the sshd daemon on
your_server to allow you to create sockets that listens for remote connections. I think it's not allowed by default. Also, your reverse tunnel should be done like this:
ssh -R your_server:5555:localhost:22 your_server
or
ssh -R *:5555:localhost:22 your_server
And fabric command would be:
fab -H your_server --port 5555 your_task
Hope it helps!