This requires SSH access to the server in exactly the same manner that
running a remote monotone process does. You do not have to give the
user access to a general purpose shell; a binary which simply does
nothing forever, or sleeps for a period of time and then exits is
sufficient. The latter is a decent solution if resources are a
concern, because the SSH tunnel will prop open the SSH connection
until it is finished, at which point the entire connection will close
if the "login shell" has exited.
In short, they have only to be able to authenticate, not *do* anything
on the remote side. All developers can be given access to the same
"account" on the server, with ssh keys granting access only to a dummy
shell, or whatever normal precautions you would take.