Gate One 0.9 Released, Brings SSH To the Web 151
Riskable writes "Dan McDougall (full disclosure: That's me) just publicly released the source code to Gate One, which is an HTML5-powered terminal emulator and SSH client. It is unique in that it doesn't require any browser plugins (it uses WebSockets) and supports multiple simultaneous terminals/SSH sessions in a single browser tab. It can resume users' sessions after being disconnected, and supports both client and server-side session recording/playback (view as a log or like a video). Gate One can also be embedded into other web-based applications such as administration interfaces, serial port concentrators, virtual appliances, or whatever."
!HTML5 Powered (Score:5, Informative)
Re:Emulator? (Score:4, Informative)
Because it is emulating a terminal, which back in the stone age was an actual piece of physical hardware.
Sometimes they were magical interactive typewriters which is where the abbreviation 'TTY' comes from.
...but does require a server plugin (Score:5, Informative)
You need a daemon to proxy between the WebSocket connection (which, remember, isn't a straight TCP stream) and the ssh server proper. Although it appears this doesn't need to be on the machine that the ssh server is running on, so it doesn't look like too much of a hardship. Also, I can't find any reference of which of the umpteen different WebSocket variants it supports.
There's actually a number of these things out already, such as ConsoleFish [serfish.com] or ShellInABox [google.com]. There's also an HTML5 VNC client [github.com], which looks very interesting.
Re:!HTML5 Powered (Score:4, Informative)
Well obviously. The client is written in HTML5. If you knew anything at all about HTML5 you'd know it is impossible to write a "true" ssh client using HTML5. Instead this connects to a python server which then goes on to connect to the actual sshd. The point is that you don't need an ssh binary installed on the client.
You could actually remove ssh from the equation, but it looks like the gate server allows you to connect to *any* ssh server, so I guess that's why they didn't do that.
Re:Key pairs? (Score:4, Informative)
Private key support is forthcoming... I had it working just fine but then I had the bright idea of writing a plugin system for Gate One and making the SSH part just another plugin :)
Key-based SSH authentication and user management thereof should be there in 1.0. Really, it isn't rocket science... Just a matter of wrapping a GUI around the functions that are already there in the code.