Secure Shell

If you work in IT sooner or later, if not every day, you will use secure shell as part of your every day work. You may even be using a secure shell connection without even being aware, such is its ubiquity. It’s an essential piece of the 21st century operation and interaction between computer systems, one which even IT professionals sometimes take for granted.

SSH is the protocol used for secure shell and provides secure (encrypted) connections to remote machines. It is most commonly evoked with the ssh command, which I had mistakenly taken to be merely a secure ‘telnet’ remote connection. However the secure shell protocol is much more capable than just providing a remote shell console.

Once established, the secure shell connection can operate more like a tunnel allowing multiple channels connecting services simultaneously to ports on the remote machine. The most obvious example of this is when you ssh connect to a machine and include a connection with X Windows. Your connection will present the command shell in the terminal window (or equivalent putty, for instance, if on Windows) and also create a channel to connect your X Windows server for the remote machine to display windowed applications on your local machine.

For a clear explanation I can recommend this YouTube video ‘How Secure Shell Works’ from the Computerphile channel where Dr Steve Bagley walks through how it all works.