If you're a commandline cowboy like me you probably spend a fair amount of time jockeying your keyboard over an SSH connection. I have two different VPS setups, one with VivioTech and one with my super favorite Linode. Most of the time I can get done what I need to right from my Macbook Pro. But on occasion I'm out and about and my only connection with the networked world is via my iPhone. Fortunately, there are several SSH applications for the iPhone.

Today I'm going to talk about TouchTerm (iTunes link) and show off a few screenshots.

There are two versions of TouchTerm, one that's free and a pro version that currently costs $15.99. The pro version is touted as being useful for those that need to get more than just emergency fixes done. Admittedly, I haven't used the pro version but after glancing at the list of extra features I think I'll be fine with the free version.

As it's core, TouchTerm is an SSH client based on OpenSSL and OpenSSH that allows you to securely connect to your remote servers, login as root (or any account) and perform some simple tasks.

To get started using TouchTerm you have to configure a connection. You can create a quick connection that isn't saved for future use or you can configure a connection that you'll name. In the screenshot above I'm configuring a new connection called "My Linode" that will connect me to my Ubuntu server hosted with Linode. When creating a new saved connection you can choose to enter a password for the connection so you don't have to type it again. You'll have to enabled saved password in the apps preferences first though. This is pretty easy since the TouchTerm developers created a preferences screen right in the app versus going with Apple's recommendation to use the iPhone's System Preferences. Thank you TouchTerm.

Once your connection is created it'll be listed under the Saved Connections heading. From here you can simply click the text of your connection name or the blue arrow to begin an SSH connection. The app settings I talked about a moment ago are accessible using the Settings button in the lower right.

My saved Linode connection is setup to log me into Lish, the Linode Shell. I'm not sure how to describe Lish except to say it's a commandline abstraction layer that sits outside of my Ubuntu server but allows me to send my server commands even when networking isn't working on the server. This is useful when the SSH goes down on the server. I can simply connect to Lish and restart SSH. Anyhow, this post is about TouchTerm not Linode. From the login prompt I can enter my Lish username and password and log in.

Once logged into Lish I can then log into my server as root or any other user. This screenshot shows the basics of the TouchTerm screen without the keyboard in view. If you press the screen of the iPhone anywhere in TouchTerm, the keyboard will either come into view of disappear.

Here's an example of running the top command to get some basic server stats like CPU utilization, RAM use, number of PIDs etc. Just like when connected from another device, the top command will refresh automatically on the iPhone's screen. Scrolling this list is as simply as flicking the screen up or down.

Many *nix commands involve the use of the Ctrl or Alt key and TouchTerm builds in functionality for these quite nicely. By pressing the Ctrl... button or the Fn button at the top of the screen, you can view a transparent overlay of additional key choices. In the screenshot above I've pressed the Ctrl key in order to display the transparent white keys just below TouchTerm's top menu bar. From here, you can virtually press Ctrl, Alt, Tab, Esc, Ret, or even a quick command break. In the example above I've pressed the Ctrl key followed by a and then d in order to simulate Ctrl-a, then d. This command detaches me from my Ubuntu server returning me to a Lish prompt.

After logging out of a server you'll see a connection closed popup menu. Not all iPhone apps make use of the accelerometer that allows you to respond to orientation changes of the phone. TouchTerm does this and allows landscape mode to be used everywhere I tried it.

This screenshot is super basic, but shows what TouchTerm looks like in landscape mode after logging into a server.

And for the sake of comparison, here's the output of the top command shown in landscape mode. Other application features worthy of mention include three font options that allow you to customize the apps readability, connection diagnostics and debugging, application lock (with a password), SSH key management (including creating new keys, character encoding (UTF-8, Latin1, etc), and more. If you manage a personal or work *nix server I recommend checking out TouchTerm. It's not going to do everything you want or replace your desktop, but for quick tasks such as fixing an issue or checking on server resources it's fantastic.

Aaron West's Gravatar
About this post:

This entry was posted by Aaron West on February 8, 2009 at 9:15 AM. It was filed in the following categories: ColdFusion, iPhone, Mobile & Devices. It has been viewed 11873 times and has 1 comments.

1 Responses to Using SSH on Your iPhone - No Hacks Required!

  1. Being able to log into a server using SSH on your IPhone is crazzzzy! But in a good way! :)