Software Development

Using your browser as a terminal

Web programming creeps into PuTTY-replacement territory, as we look at two browser extensions that allow SSH functionality.

Every time I use a Windows machine for any decent period of time, the moment will invariably arrive when I have to install a copy of the venerable PuTTY program to allow for SSH usage. But now there are a pair of extensions, one for Chrome and one for Firefox, which give users the ability to work on remote machines from within their browser.

This pair of extensions are pure SSH replacements, they are not a complete drop-in replacement for PuTTY or your nearest UNIX-like terminal program. One caveat, though: if you make extensive use of SCP, rlogin, or port forwarding, then stick with what you have for the time being.

Secure Shell


Secure Shell looks just like the real thing.
(Screenshot by Chris Duckett/TechRepublic)

The first option we will look at is an extension for Google Chrome, dubbed Secure Shell.

Secure Shell comes straight from Google, and is intended to be the terminal replacement in Chrome OS. Google's Native Client technology is used to connect directly to SSH servers, doing away with any proxying needed with previous HTTP terminal solutions.

Its FAQ states that the shell aims to be "fast enough and correct enough to compete with native terminals, such as xterm, gnome-terminal, konsole, and Terminal.app."


Secure Shell has an issue with some vim themes, though.
(Screenshot by Chris Duckett/TechRepublic)

There are no doubts that it is quick enough, but its correctness is still lacking. For instance, some vim themes are not drawn properly. It's a small thing, but when you are aiming for correctness, these minor annoyances matter — especially when you are trying to compete with native terminals.

Account management is achieved by bookmarking shell sessions.

FireSSH


It's just to run FireSSH in its own window.
(Screenshot by Chris Duckett/TechRepublic)

Over on the Firefox side of things, we have FireSSH.

Whereas Secure Shell makes use of Native Client, FireSSH is implemented in JavaScript — a lot of JavaScript.


FireSSH's account management.
(Screenshot by Chris Duckett/TechRepublic)

The one extra feature that FireSSH brings is account management. It has the ability to store connection parameters, create tunnels for connections, and import/export all accounts. If you happen to start using FireSSH on a daily basis, then this extra tool would be invaluable; although I do question the need for tunneling options; if one does need them, why are you not already using a computer with a proper terminal!?

The main issue I have with this extension is that it will resize the browser window to fit its specifications; therefore, you will want to leave the settings to launch in a new window group.

The other annoyance with FireSSH is its aesthetics. Secure Shell utilises a set of terminal colours, and will attempt to respect the host's preferences, but FireSSH is by and large stuck with a default green-and-black theme.

The Atwood Factor

"Any application that can be written in JavaScript will eventually be written in JavaScript," states Atwood's Law, and, to be honest, that's part of the appeal of these extensions.


Source for FireSSH.
(Screenshot by Chris Duckett/TechRepublic)

From a web developer's perspective, it is interesting to inspect the code and see how it operates. FireSSH uses divs for each line, and a boatload of JavaScript, while Secure Shell uses an x-row element and Native Client to do its magic.


Source for Secure Shell.
(Screenshot by Chris Duckett/TechRepublic)

People who spend a great deal of time jumping between machines and tunneling with SSH are likely to find themselves on a UNIX-derived operating system already; but, if you are on a locked-down Windows machine, or just want to explore a new way of doing things in a browser, then take a look at these extensions. You might even like them.

About

Some would say that it is a long way from software engineering to journalism, others would correctly argue that it is a mere 10 metres according to the floor plan.During his first five years with CBS Interactive, Chris started his journalistic advent...

1 comments
Bapster
Bapster

I tried the SSH plugin for Chrome, and it works as advertised. I like the large browser screen, as opposed to the smaller Putty screen. Anyhow, I recommend you try it, if you are using the conventional SSH. Quick and easy to connect!