In the case you only have terminal usage on the client side (you said that you have no kind of xserver running on the client hosts) I have a suggestion how you can achieve this. It's actually a minimal but easily expandable example that shows how you can monitor a terminal session on a remote host. I don't know any special software for that and probably there are a number of ways to achieve this more elegant, so please do not expect to much.
My first advice is to install
rootsh on the client side.
It's a wrapper for shells which logs all echoed keystrokes and
terminal output to a file and/or to syslog [rootsh website]
Unfortunately your debian repository is not packed with it, so you have to make your own binaries. Which is easy to achieve since rootsh has no fancy dependencies. Further more you need
socat, a tool for bidirectional data transfer.
If you invoke
./rootsh -i -f logfile
a new login shell starts an everything echoed on the terminal from this shell or any child process is written into
logfile (also special characters originally intended for the tty).
Now you can create a TCP-socket on the client with
socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork
from which you can read from the admin's host. For instance with
socat TCP:clientdomain:22222 STDOUT
telnet (windows binaries for socat are available).
In the case you want to have a more secure data stream between the nodes you can also instruct
socat to encrypt it via
OPENSSL. You can find a great explanation on this in the article Securing Traffic Between two Socat Instances Using SSL.
I admit that my approach has several flaws, but it suffices to illustrate what's possible without any special tools.