While SSH seems like the ideal console application delivery platform, it suffers in a major way: no local execution.
This matters when latency matters. Processing all keystrokes remotely sucks over high-latency links like airplanes, cell phones, satellites, etc.
This can also be a pro. JavaScript is a mess in terms of design, increased client complexity, and security. It depends on what your requirements are.