iPhone SSH clients reviewed: iSSH, pTerm, and TouchTerm

SSH is the de facto way to establish a secure connection with a command line interface. It is an essential too for people who regularly manage Unix servers, networking gear, and a variety of other devices.

There are now three SSH clients that will work on any iPhone or iPod Touch with access to the iPhone App Store. It is true that iPhone SSH clients have been available early on for jailbroken iPhones, but the new clients are available on non-jailbroken iPhones.

Currently, there is no clear winner as each SSH client has its own tradeoffs and none are ideal. Since they are all likely to be revised quickly, if you absolutely need one right now, buy whichever one has the functionality you need. These SSH clients would all be maddening for long term use, but have great potential for emergency fixes, monitoring, and just running a few commands without needing access to a computer and a network.

The developers of each of these SSH clients have submitted updates that will be available as soon as they go through the App Store approval process, most likely in the next week or two. The good thing is that each of the apps is inexpensive and show promise. All three developers seem responsive. I’ll write an updated post after the updates for all three apps (and if there are newcomers) are released.

I used a recent version OpenSSH sshd running on FreeBSD and on Linux for testing.

Some commonalities across clients:

  • All worked in both portrait and landscape mode
  • All support a default 80x24 terminal in portrait mode
  • All supported saving at least the hostname and nickname for future session reuse
  • All worked with color ls
  • I was able to bring up and use (to some extent) Pine and Emacs on each
  • Each client allowed access to the built in iPhone keyboard that supports most meta characters you might need including tilde, pipe, brackets, angle brackets, ampersands, and asterisks.
  • None of the clients supported an alt key, meta key, or an explicit break key.
  • No esc key, but can use Ctrl-[
  • All will work on iPhone/iPod Touch with access to the App Store and 2.0 firmware or higher
  • All with work with Wi-Fi and EDGE/3G(HSDPA)
  • None of the clients supported host-based public key authentication, ssh-agent, or port forwarding.

iSSH (App Store)

by: Zinger-Soft
Price $4.99
Version tested: 1.0
Size: 525.1kb

iSSH Overview

I found iSSH to be the nicest to work with overall for the current crop. It edged out the others because of the widest terminal emulation support and its use of the touch screen for arrow keys, which I found to make a much better user experience especially with Pine and Emacs. Another nice touch swiping up (up arrow) would allow you to scroll back through your command history. iSSH is based off the open source PuTTY client like pTerm.

The account screen includes fields for Description, host, login (username), and an optional command to run on login. The password is requested after each connect.

iSSH the Good

  • Widest range of terminal emulation support: VT100, VT102, VT220, ANSI, xterm, and xterm-color
  • Nice use of the touchscreen to emulate arrow keys and to handle scrollback without scrollbars
  • Keyboard allows for Ctrl, shift, Function keys, the tab key worked and allowed for command completion
  • Developer seems responsive. Has a support forum on Google Groups

iSSH the Bad

  • No alt, meta, or escape keys although Ctrl-[ worked in place of esc.
  • Does not show a session key fingerprint. It’s unclear if it actually caches the session key or not.
  • No way to delete a session you have created
  • Canceling an SSH session is slow
  • Supports screen rotation, but the screen rotation causes existing text on the screen to be covered up.
  • Finding the correct position on the screen to delete or edit existing sessions is difficult
  • No online manual
  • No support for non-default SSH ports
  • Was not smart enough to know when the terminal session ended, you have to hit the exit button
  • Has an exit session button, but it can take a long time to quite an existing session
  • When adding a configuration the first character of each entry defaulted to having the caps lock on.

pTerm (App Store)

by: Instant Cocoa (Eric Maland)
Price: $4.99
Version tested: 1.1
Size: 494.4kb

pTerm Overview

pTerm was the second official iPhone SSH client out the door. The client supports SSH, Telnet, and raw socket (TCP) connections with Xterm terminal emulation. Like iSSH, pTerm is also based off of the PuTTY code base.

When you create a new account in the client, it has fields for nickname, host and port, which means you have to put the username in each session.

Upon initial connect, presents key fingerprint and allows you to cache host keys. You can accept once or permanently as with standard desktop clients. I did not test what would happen if the host key changed and there does not seem to be a way to delete saved keys.

As with the other clients it support both portrait and landscape modes, you can double click to make keyboard appear and disappear.

Can pinch to zoom in and out although it was a bit difficult to find the right size sometimes. A few automatic settings might be nicer.

Color ls, Pine, and emacs worked, but lack of arrow keys was annoying and limited their utility.

pTerm the Good

  • Has terminal emulation (only Xterm)
  • Supports SSH as well as Telnet and raw sockets
  • Shows key fingerprint on connect
  • Can edit account information
  • Supports pinching and zooming
  • Supports scrolling to emulate larger screen area

pTerm the Bad

  • Terminal emulation limited to Xterm
  • Text did not automatically reflow around keyboards so you will likely have to scroll the text in order to see the command line if you want to type
  • Only control key. No specific alt, meta, tab, arrow keys, page up, page down, break, or function keys
  • No history buffer
  • Does not remember session usernames
  • Pinching and zooming seems a bit finicky

TouchTerm (App Store)

by: jbrink.net
Price: $2.99
Size: 878.7kb
Version tested: 1.1.517

TouchTerm Overview

TouchTerm was the first official iPhone SSH client in the App Store. The client is based on OpenSSH and OpenSSL rather than putty like pTerm and iSSH. Currently TouchTerm is the most customizable. You can change screen colors (foreground, background, cursor) in addition to the font size.

I found TouchTerm was my least favorite in terms of user input. There is an odd input box that effectively added another step each time you wanted to type. The box would occlude the screen and then disappear after you typed your text. TouchTerm was the only client with a clear screen button.

Color ls, Pine, and emacs worked surprisingly, but lack of terminal emulation makes it far less practical.

TouchTerm the Good

  • Can edit session information
  • Can save session password
  • Extensive online manual and release notes
  • Button to show command history
  • Soft keys for clear, control, tab, esc.
  • Supports pinch and zoom
  • Supports scrolling to emulate larger screen area

TouchTerm the Bad

  • Only supports saving one session
  • No exit button, so you have to exit and renter the application to start a new session.
  • No support for alt/meta, or function keys.
  • Pinch and zoom was a little finicky
  • No preset font sizes

Comments

vSSH

vSSH is nice iPad/iPhone client. It has a lite version to try.

Nice reviews. I'd agree that

Nice reviews. I'd agree that generally the prices can't be beat. My history with terminal clients is kinda funny; my roommate had a sidekick 2, and bought “Terminal Monkey” for $5. When I finally got mine, they had renamed it to simply “Terminal”, raised the price to $10, and best of all, I don't think there were any new features. :PWhile slow on 2G (GPRS, I think?), I managed and could do some cool things from many places.When I got my Treo, pssh was my best friend, 'nuff said.And now, I'm replying to your post on my iPhone, wishing I had bought iSSH instead of pTerm. Oh well, I'm hoping that they all mature pretty nicely over the next few months. I'll be watching for more followup posts from you :).

iSSH just got an update and

iSSH just got an update and can now…hold open multiple sessions select a different portuse keysand it got a esc key

I can connect to my leopard

I can connect to my leopard machine via SSH from my other leopard machine, but I cannot connect via iSSH. Does anyone know what the deal with that is? I could use a hand.

Which of these clients DO

Which of these clients DO support SSH running on ports other than 22? For that that's the most important thing. Most of my servers have SSH on a non-standard port for security reasons.

I got TouchTerm as soon as it

I got TouchTerm as soon as it came out. My biggest issue with it, that wasn’t listed above, is that it saves my password as open text in the history when I ssh to another server. Nice to have the history, but that needs to be fixed.

Only one of these (iSSH) is

Only one of these (iSSH) is currently available in the UK App Store - presumably it’s the only one to have passed US export certification.

I understand that your review

I understand that your review covers the current versions but thought I’d point out a few things about the upcoming version of iSSH. Disclaimer: I’m a current user and active on the boards for it. I pointed out the fingerprint problem within minutes of it getting released. That’s been fixed in the version waiting for approval. You can delete a session. It’s just that the button on the far right is really fiddly. This is being worked on. Non-default ports and the rotation problem are both being worked on.

What about SSH Term Pro

Is not good?