I'm going to suggest you run a vnc server on your remote box. Assuming it's a Linux box and not a Mac box, there are several vnc implementations you can download and run.
The one I've been using lately is x11vnc
http://www.karlrunge.com/x11vnc/, with tsvnc as the client. tsvnc connects via SSH and then on successful login, starts up x11vnc on the remote machine. Once x11vnc is started, tsvnc then starts up a vnc viewer to connect to it.
I use this and have no problem re-connecting to sessions previously started.
You can also use other vnc server implementations by logging in over SSH, starting vncserver from the CLI and then connecting using a vncviewer client to connect to the vncserver. This avoids using VNC over SSH, which is NOT a configuration I would recommend.
VNC over SSH is preferred coz the session is encrypted and can be compressed for speed as well.
In addition to VNC and VNC over SSH, there are other remote display programs I've used with varying degrees of success in the past.
These include Remote Desktop Protocol solutions
http://www.xrdp.org/, ThinLinc
https://www.cendio.com/thinlinc/what-is-thinlinc, x2go
http://wiki.x2go.org/.
They all require some sort of display server on the remote host with a corresponding client on the client (Mac) end.
I don't use a Mac so I can't speak for the stability of these solutions on the Mac platform, but they work fairly well on both Windows and Linux clients. So assuming you can't get one to work on Mac, there's always the possibility of running either Windows or Linux in a virtual machine on your Mac to have the client for these solutions available to you.