With this method, you don’t need to do any modification on the middle man server. GatewayPorts setting is not required.
Run this on destination machine:
ssh -o ServerAliveInterval=60 -N -R <port on middleman>:localhost:<port on this machine, usually 22> <user>@<middleman server>
Run this on your local machine:
ssh -o ServerAliveInterval=60 -N -L <port on local machine>:localhost:<port on middleman server> <user>@<middleman server>
Then you can connect to localhost <port on local machine> which will take you to the destination server