I have few VPS's outside of China, and when I trying to SSH them directly from China, the connection would only alive for few minutes before gone slow (20 seconds delay), and eventually went dark (All packet dropped).
So I wrote my own proxy. It supports port mapping so I can map my local:2211 to server:21. When I connect to local:2211, the proxy will first connect to proxy-server (located outside of China) to establish an encrypted data stream, and then the proxy-server connects server:21.
This way I can keep the SSH connection alive as long as I wish to.
If you are using tools like Shadowsocks, you can use `ssh -o ProxyCommand ...` to ask ssh to go through Shadowsocks (Socks5 proxy).