I got this working very well with the following script:
#!/bin/sh
ssh -L 5900:localhost:5900 -N -l USER HOST &
pid=$!
sleep 1
open -W vnc://localhost
# kill the tunnel
kill $pid
(substitute USER and HOST for your user name and host name of the remote machine) For this to work, you will need to enable remote login and screen sharing on the remote machine, and set up password-less ssh to the remote machine. To set up password-less ssh, run "ssh-keygen -t rsa" on the local machine (enter a blank passphrase), then copy the output id_rsa.pub to the remote machine as ~/.ssh/authorized_keys.
The script starts the ssh tunnel then opens the screensharing app and kills the tunnel after you are done. It works great for me on High Sierra.