iPhone SSH review: iSSH v. pTerm v. TouchTerm v. SSH

UPDATED Thu Sep 11 07:28:27 EDT 2008: Updated for TouchTerm 2.1 and iSSH 2.0 (which is held up by a glitch in the AppStore but should be there soon). Both are very strong updates. Also, planning a full revamp of this overly long in the tooth page.

UPDATED Wed Sep 3 08:59:26 EDT 2008: Updated for pTerm 1.2. New hard keys at the top (esc!), key management and custom terminal sizes (amongst others).

UPDATED Fri Aug 22 07:46:26 EDT 2008: Updated for iSSH 1.1. It now allows for multiple simultaneous connections which may make it the app for some. For me, I still slightly prefer TouchTerm.

UPDATED Thu Aug 21 07:46:46 EDT 2008: Updated the TouchTerm section to cover the new version 2.0. In short, this is now the best ssh client for the iPhone.

UPDATED Tue Aug 19 07:11:56 EDT 2008: new client SSH reviewed at the bottom of the page. Also added an image of the landscape problem in iSSH.

It has been awhile coming but there are finally not one, but three reasonable SSH clients for the iPhone. As web developer I’ve been waiting for this to happen ever since I switched to the iPhone from my Treo. It’s not like you’re going to be doing extensive coding on the phone, but for quickies and emergencies it is a comforting application to have at the ready.

I grabbed iSSH (1.0 1.1 2.0), pTerm (1.1 1.2) and TouchTerm (1.1 2.0 2.1) and ran them through their paces. The executive summary is that none of them are perfect – each has its particular strengths and weaknesses – I’ll probably keep them all and watch as they update but at this instant I will most likely fire up either TouchTerm or iSSH, much less likely to bring up pTerm (don’t even bother checking out SSH). All three, though, are improving at breakneck speeds so I’m keeping ‘em all around.

First up, the pricing for all of them is incredibly reasonable. $4.99 for pTerm and iSSH, $3.99 for SSH and an even cheaper $2.99 for TouchTerm. This was vaguely surprising to me because it seems like if you are one of the very few people who want or need ssh on your phone, you are most likely also going to spend almost whatever it takes to purchase the app. Still, it certainly made it an easier decision to grab all three to find the best one.

All of them work very well over WiFi and less well over EDGE, but are still usable. There is some kind of crazy DNS quirk that affects them all so that if you use it on WiFi and then switch to EDGE, they can’t find the server. You need to open up Safari for a second and then go back to fix it.

Thanks to Apple, since no apps can be in the background, you can’t use any of these and another app simultaneously, leaving the app will end your connection. Which kind of limits usability for web development. This is a little long so read my specific thoughts on each one after the jump.

iSSH (updated to review version 2.0)

iSSH with 2.0 is nearly just right. What I love most about it and that it has head and shoulders above the other apps is a nice crisp tiny font (it now even gives you a choice of 3 different fonts so you can find just the right one in the size you most prefer – I like ProFonts in the smallest size). In portrait mode it clocks in at around 54 usable columns. What it also does very wonderfully is automatically size the terminal so when I am in the smallest font size it knows how many columns to use and makes the terminal the correct width in portrait and landscape modes. No scrolling necessary coupled with a very usable width (even if it isn’t the more traditional 80 columns) makes this very user friendly.

Another very cool thing it has is gestures – it’s partitioned the screen so that the right edge of the screen (sorry lefties?) waits for vertical swipes to scroll the screen up and down. The nice part is that main area of the screen waits for swipes in any direction and translates that into the arrow keys – so swipe right and get a right arrow press, swipe down and get a down arrow press, etc… This is quite nice. With all these different areas you do have to get used to where to swipe, but once you do it’s pretty nice – I can see though how some folks might find it more annoying than useful.

In addition to the great font selection, the other main feature that iSSH has over others is that it supports multiple simultaneous connections. So you can connect to several machines (I only tested it to three, only because I’m lazy). You can switch through them like you switch desktops on the iPhone app launcher – you swipe left or right at the bottom of the screen and it slides horizontally between them, except it’s better because it tells you the name of the connection you are on each time you switch. Or you can hit the “x” in the hard keys menu at the top and it will bring you to your list of open connections and you are a click away from adding in new ones or going direct to an existing one. The 2.0 update seems to have made this a little less reliable, with two connections it was fairly common for me to hang the app either by swiping or by heading to the connections screen. I’m sure this will be fixed quickly, though. It is a fantastic feature very well implemented – swiping to move screens is the cat’s meow.

It has several hardcoded buttons across the top of the screen for exit, ctrl, function keys (F1 – F9), shift and tab. It’s currently the only app to have F-key support. It has added in the ESC key to the list which is great. One thing I don’t love, although I have no solution for, is that the key menu at the top has enough options that you have to scroll left or right through them. And when you scroll you only move one button at a time. I’d love a system where I could customize the order of the buttons – but the good news (for me, at least) is that the first 4 buttons you see are ctrl, alt, esc and tab – the main ones I need.

Annoyingly, you must save any connection you make – so if you need a quick ad hoc connection you have to create a saved one and then delete it later (by swiping it in the menu list).

It has also added in key generation. In a one-upping of TouchTerm in addition to emaling you the generated public key you can also send it directly (via ssh, natch) to the servers of your choice. If you’re all iPhone trying to set this up, it’s a very convenient way to do it. Another neat thing about it is it asks you to rub an little patch of screen to help generate randomness – I’d love to see that move to using the accelerometer, but it’s still very cool. It only allows for a single public key (which totally suffices for my needs), but for those who like to have more, TouchTerm supports multiple assigning particular keys to particular connections.

With this release it introduced transparent keyboards. For now this only works in landscape mode and basically it makes the keyboard transparent so you can see a full screen of terminal. You have to hit the keyboard hard button at the top menu several times to get to this mode as well. In general, TouchTerm handles hiding/showing/transparenting the keyboard more elegantly than iSSH does. I’m not sure how much I love this, I keep thinking once you get used to it it will be the most amazing feature ever, but as yet I haven’t gotten accustomed to it.

It also has a pretty serious problem in landscape mode – it doesn’t resize the number of rows so the cursor is generally always at the bottom of the screen – hidden by the keyboard. So if you have the keyboard up you generally can’t see what’s happening, if you’re running transparent it won’t matter, though.

pTerm (updated to review version 1.2)

The very close second, pTerm suffers from its lack of a usable small font. By default it uses a pretty sizeable font which shows about 36 columns of text. You can pinch to zoom out, but it quickly becomes illegible since it’s just doing a graphic resize of the text. It does, however, provide flawless horizontal and vertical scrolling in both portrait and landscape mode. Swiping anywhere on the screen sends it scrolling in the expected direction and in landscape mode the default text size provides a very usable 56 columns (unfortunately, only 6 rows, though, with the keyboard occupying a ton of space).

It provides hardcoded ctrl, tab and esc buttons for easy access at the top of the screen. An ellipsis button provides access to hard arrow keys. Pretty much, those are the essential keys and it’s great to have easy one touch access to them. Like iSSH, this will save your connections (and not allow for ad hoc connections) and they will now remember your login name if you want. It also provides a means to create telnet and raw TCP connections – but when I tried using both of these to connect to a webserver on port 80 it hung both times, I’m not sure why. Perhaps, I did something wrong. Other than that there weren’t any real problems with this app – it’s just the fonts were simply too large for my needs.

pTerm is now the first to provide a customizable terminal size, when you setup or edit a connection you can set the number of rows and columns to support. I have one connection set to 36 columns by 12 rows which is the screen size of portrait mode with the keyboard up (you can hide the keyboard by double tapping the screen) – this is particularly useful some editing since you won’t have to scroll left or right to see the entire screen. If I need to bust out mutt, for example, I’ll mostly end up using pTerm for the customizable term size.

It has also added key management so it will generate an RSA (or DSA if you’re so inclined) key for you and mail it out to you so you can add it to whatever accounts you need to. It is the only app to include logging so you can, essentially, record an entire session. I’m not sure what I’d use that for but I bet there’s some folks out there that have been jonesin’ for such a thing.

TouchTerm (UPDATED to review version 2.1)

TouchTerm continues to be the most configurable app, allowing you to set the font size, the colors (background, text and cursor) among other variables.

In addition to the typical immediate response mode that the others use of sending text to the server character by character, it has a buffer mode where you enter all your text first into an iPhone buffer and only when you are ready does it send that to the server. Initially I kind of hated that, but I can see it’s uses, if you are composing a complex commandline, it is much easier and faster to edit locally on the iPhone to get it just right before sending it, then having edit over the wire on the remote server. Obviously, you can also go into immediate sending mode which will turn off this buffer.

TouchTerm has the best keyboard and screen management of all the apps. At the basic level you can tap the screen to hide or show the keyboard. This is super easy and super useful for quickly getting an eyeful of the screen before going back in to enter more text. It also has “Full Screen Mode” which gives you a little extra space by getting rid of that top iPhone bar with the clock and battery life in it.

Part of this keyboard management is allowing for keyboard transparency. You do have to go into the on screen preferences to turn on transparency but there you can also set exactly how transparent you want it to be, which is pretty useful. The “Full Screen Mode” also sets transparency on the hard keys (ctrl, esc, etc… see below for more details). TouchTerm really has thought about giving you ways to maximize your screen real estate.

Like all the apps now it has a bunch of hard keys at the top of the screen. Here you have ctrl, alt, tab, esc, ret, ctrl-c, the arrow keys and interestingly function keys 1-12. It gives you a lot more. It also, instead of scrolling through the list as iSSH does it pops down a full row of all the buttons over the screen. It uses transparency to leave them there (so you actually just toggle them on and off with the buttons). It’s personal whether you prefer this over the iSSH version, personally I prefer the iSSH because the keys I use 90% of the time are ctrl and esc and they’re always there in a minimum of space. If you use more, though, this may be just the thing.

Definitely of interest to some will be the key based authentication and management. You can generate a key pair, email yourself the public key and associate the private key with any of your connections. It is the only app to allow for multiple keys and associating each connection with a specific key. This worked flawlessly when I tested it out. You can easily swipe to delete any of your keys.

Lastly, it now easily has the best connection screen. It maintains, of course, a list of saved connections where you can specify the server, the port, username as well as an optionally saved password or key to associate with it. But beyond that it has a Quick Connect area which puts the last saved connection you used as well as a “one-time connection” which lets you specify all of the above, but doesn’t actually save it. Perfect!

The primary problem remains that the font size is useful primarily down to about 40, 41 columns in portrait mode, below that it starts to get quite fuzzy. I’d love to see a better tiny font.

(You can check out the TouchTerm 2.1 guide if you’re interested.)

Conclusion

With the latest two versions of TouchTerm and iSSH at this point they are neck and neck. For the way I’ve been using SSH I’ve been pulling up iSSH more frequently – I love the increased real estate provided by the small fonts and the hard keys that are just the one I need. I personally don’t really use multiple connections much, so that wasn’t the draw. TouchTerm, though, does offer the most unique experience. I think some folks will really prefer the way TouchTerm handles transparency and what not to make full use of the screen. I can heartily recommend both of these apps and trying them both out to see which you prefer. I mean, come on, it’s $8 to try ‘em both!

All three of them, however, have a lot of features on the roadmap that I suspect will make their utility converge. iSSH and pTerm both have Google groups that look quite active.

I think you can’t go wrong with any of them. TouchTerm is the quirkiest of the bunch and that quick may be a pro or a con based on your needs. iSSH and pTerm are much more classic clients and you won’t really be surprised by what you get. Have you tried any? What do you think?

UPDATE: So I saw that SSH was added as a new client to the App Store, figured for $3.99 it was worth checking out. I shouldn’t have bothered, it is easily the worst of the four ssh clients. It’s terminal emulation is terrible, not really possible to run mutt or vi in this bad boy. It does have a decent small app and it tells the server that it’s width is only as many chars wide as it can show so it wraps at the edge of the screen – no horizontal scrolling necessary, which is pretty interesting.

It does this crazy buffering thing where like that mode in TouchTerm it has a command entry box that you type in one command at a time. But unlike TouchTerm this thing minimizes the keyboard after every command, so you go full screen in between everything you type, it’s a little nauseating. Also, it doesn’t have any command history like TouchTerm does, so as far as I can tell, it just isn’t a good input method. It has an odd, but decent page where it basically remembers everywhere you’ve logged in to as a user@host type string.

This app just isn’t in the same class as the other three, between those three personal preference would be a strong contender in choosing one – this app technically just isn’t worth it.

See Also some other of my App Reviews:

· PhotoSwap & nrme, tiny social apps

· Labyrinth v. Marble Mash, maze games

· Twittelator v. Twitterific, twitter clients

· BoxOffice v. Movies.app v. Showtimes

· All my iPhone posts

  • berlincount

    Got another update? :)

  • Max Rabin

    Hi, is there an updated review based on the current versions? This article is 3 years old, and I'm trying to figure out which to get now.

  • Anonymous

    I just downloaded iSSH and it supports public key authentication nowadays.

  • Bronte

    Yep. Exactly the same question I have. While I can create multiple tunnels, what good are they? Well, none, to be precise. Still not a bad app though.

  • Bill Paitch

    can any of these multi-task ? can I open sessions to multiple servers w/ any of these programs ?

  • Ehi! Thanks for the review, definitely thorough and well written! :)
    M

  • trutee

    one quick question, any of these app can ssh the iphone? Say transfer files to the iPhone just like OpenSSH without having to jailbreak our beloved iPhone 3G?

  • N. Miller

    You can manually set your terminal lines (vertical) and columns (horizontal) on the command line; the fact that the ssh client is not setting this properly suggests that the authors don't know much about specifying TERM types and/or the terminfo db. Most (not all) modern terminal emulation software (e.g. ssh, xterm, terminal.app, rxvt, etc.) dtrt with the OS/shell, which automagically sets it, so generally folks are not even aware that it's necessary until they come upon some software that doesn't dtrt.

    Try: stty -a | echo $LINES $COLUMNS in the ssh clients you have to scroll L/R and/or U/D to see everything. You can set LINES and COLUMNS manually (use an alias to save typing). For certain classes of connections it is possible to do this programmatically in your dot files, but you'll have to explore the TERM, ssh environment variables, and other env variables to be able to do this reliably for all your incoming connections.

    For the person mentioning web it: multiple sessions of screen on the back-end with one app per session--links or lynx in one screen session, irc client in another, curses based IM in another, etc. Now you have all the speed of your regular connection, and are only sending the immediate updates to the iPhone. If you are a graphics addict, not quite as pretty, but if your real need is ubiquitous computing in the smallest possible package, this would do the trick for a *NIX geek. This is also a low-rent (assuming you have some place to ssh into) work around for the "no multi-tasking" on the iPhone.

  • imperator

    for the German iPhone user only iSSH or SSH are the only options. TouchTerm and pTerm are not available in that Store!

  • canadacow

    TouchTerm 2.0 only got out ahead of me due to luck of the draw. My latest version has been sittiing "In Review" for a week now. Time to call Apple, I guess?

  • steve and maxnixer, I just grabbed the 2.0 update, Jim Brink was kind enough to send me the 411 on this! I've updated the review and TouchTerm now stacks up at the top of the list. I think my biggest issue with it is the font - I'd love a crisply useable smallest font size.

  • Mark

    Nice comparison review, thanks. But you don't mention what is widely known, which is that only iSSH and SSH are available in countries other than the US at the moment. Also none yet provide public-key authentication, which put all of them out of the game for me at present anyway.

  • steve

    I so agree about the TouchTerm 2.0 update -- it puts them in the lead in my book. (I can't believe they're still selling this for $2.99!) Key-based authentication is important for me, and they do it well -- with a well-organized UI to boot. For those that care about security, it's good that they have OpenSSH/SSL at the core too. From their web site, these guys seem to "get it". I'm looking forward to seeing what TTPro has in store!

  • macnixer

    touchterm updated today and frankly i really like the way they handle the ssh-keygen part. I connect to my server without putting in my password now. Whoa. Also they have a great profile section which allows me to create various connection profile and save them. I am beginning to feel that the developers are doing a good job, just that the earlier version was taking baby steps.

    I would love to see gestures as in mobileterminal (code.google.com/mobileterminal.... Unfortunately you can use mobileterminal only on unlocked / jailbroken phones. I would not like to do that with my new 3G. i wish they did develop for the App Store.

  • Thanks for the review. I ended up getting pTerm because it allows for alternate SSH ports. I'm not too crazy about the way it renders text as it doesn't scale fonts the same way Safari on the iPhone does. I hope these apps evolve as a whole and keep their prices low. I feel too cheated if I was disappointed in my initial choice and decided to try others because they're relatively inexpensive.

  • Regarding iSSH, I too love this one more than any of the others. I'm still waiting for the new update though, as you cannot connect to SSH on any other port than 22. For those that run on a different port other than the default, you are pretty much screwed. This feature should be in play in version 1.1.

    Regards,
    Drew

  • Ken

    The iSSH site says that exact macro idea will be in a future release.

  • Ken

    Dave, how could you use tunneling on the iPhone if it doesn't allow background apps?

  • Great write up. I'd only played with pTerm, but I guess I have to give iSSH a review.

  • Dave

    Thanks for the review... it's too bad that you don't talk about tunneling capability in any of them though - I still have to do some leg work to see if I can get to my work email.

    Thanks
    Dave

  • Well, heh, my eyesight is actually the worst of anyone I know, Macka. :) But, the small font's definitely *small*. I wouldn't want to spend an hour looking at it, but for getting in for a quickie, I like the convenience of seeing more without having to scroll. Nevertheless, pTerm has a great larger font and TouchTerm provides a nice variety of font sizes to check out, which may make them more useful for you.

  • Stanley, I believe they all support SSH2, so grab them without fear!

  • I love this idea, Randolph! Having a built in webkit browser would be a great way to skirt the no multitasking rule. However, it might end up getting complicated because you'd also want bookmarks and maybe more? Who knows, but I'd definitely love to see this in place for all the ssh clients.

  • Clark, I think that most of the apps will soon have all four of your minimums - probably next revision or the following. But I really, *really* love your macro idea - if there were "programmable" buttons that you could create in that top bar that most of them have - or even a sort of "macro" button there so you'd hit that button in the top bar and then any key on the keyboard to enter one of your programmed macros. Man, that would be amazing.

  • Jason, I loved pssh on the Treo! My guess is that within one or two more revs of pTerm and you'll be a happy camper again. :)

  • Jeffrey, I'm obsessed with these, so I'll definitely be following their updates. They can't come soon enough. :)

  • Stanley

    Thanks the review
    Do both SSH clients support SSH2 ??
    Because my server is running SSH protocol.

  • Macka

    You think the iSSH font is usable? You must have very young 20/20 eye sight. I don't normally use glasses for screen reading, and only have reading glasses for small text in very low light conditions; and I hardly ever need to use them. But iSSH's font is almost unusable for me, even with my glasses on. Unless the developer provides a zoom in option or a way to increase the font size slightly, I'll be going else where.

  • ptone

    Thanks for the post. At first I was bummed because I had just bought touchterm before seeing your review and it sounded like it was the loser. But after finishing the review many of your cons I consider pros and am very happy with it and am really looking forward to the changes coming in it.

  • useEvil

    Thanks for the write up, it'll definitely help me when I get my iPhone. Not related to the reviews, but the one thing that always bothered me was the need for multiple connections. All you ever need is one Terminal window ssh'd into a server running 'screen'. Inside of 'screen' you can connect to any number of servers and stay connected even when not in use. 'screen' is a must have for anyone that uses the Terminal.

  • Randolph Kirkpatrick

    Sounds like a really cool feature would be to have a Web-Kit view as part of the app. Like a mini-safari that you could jump to without quitting the app. That and proper support for vi, and I'd be sold.

  • Clark

    Given how hard it is to type on the iPhone I kind of liked TouchTerm's approach since I could easily edit what I typed before sending it. I just wish it was easier to switch on and off. But this was one of the few things TouchTerm had that I liked.

  • Clark

    I bought TouchTerm when it came out but it's nearly useless since I can't run vi with it.

    Realistically none of these programs are really there yet. A good ssh program needs at a minimum the following:

    1. selection of width and height and gesture scrolling to see what is offscreen
    2. easy typing of common codes like ESC.
    3. a good selection of connections that you can edit
    4. selection of font size (and preferably some font choices although that's less key) Sometimes you need a bigger font to see.

    Not as essential but desirable given how hard it is to type on the iPhone

    1. macros for common commands or control characters
    2. cut and paste

    Right now none of these programs really would make modifying configuration files on my server from the road easy.

  • Jason

    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. :P
    While 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 :).

    Thanks again.

  • Jeffrey

    New versions of these seem to be in the works - iSSH being one in particular that I'm eyeing. It sounds like public key generation/management will be added. Can you update your review(s) here as such new features hit these term's?

  • Steve

    Just learn the magic command "screen -DR". Type that every time you connect. Creates a new session or reattaches to a previous one. Forget all the other options.

  • Erik

    FYI, most modern versions of vi allow you to use ctrl-c to exit input mode. I find this preferable even on a full keyboard, as ctrl-c requires that my hands move less.

  • Gorf, yeah, I may be the last hold out that hasn't really used screen much. But if ssh'ing on the iPhone becomes a habit, I may have to. Maybe then, I'll convert to the church of screen. :)

  • Gorf

    I imagine GNU screen will help the termination problem. just log back in and resume your old session.

  • Thanks, neil, Yeah, it's tough. Fortunately, these apps were all pretty cheap. It'd have been a diff't story if they'd all even been $9.99. :)

  • EK, yeah, it doesn't work at all - leaving the app, even just to go to the home screen, ends the connection. I don't see this changing anytime soon. Apple's "fix" for background apps - that single alert pipe they are touting as a great replacement for backgrounding will not help this problem. Sigh.

  • Josh, yeah, I guess I wasn't clear enough - there's a preference you can set that will turn it into the more typical immediate response type of input. I actually didn't figure that out till I was in the middle of writing the post.

  • Nice write-up. The long-tail nature of the iTunes App Store makes finding the right app a tad difficult-not to mention expensive!

  • Josh

    FYI, TouchTerm does allow you to turn off the text entry box, allowing you to type at the prompt.

  • EMO Kid

    Thanks for the review.

    I am wondering how an ssh client works on the iPhone given the policy of no multitasking. If one leaves the ssh terminal for a while and comes back, what is the turnaround time to get back to where one was? Does the connection stay alive or does one have to log in again, how about the support for ssh public keys on the various clients?

  • frumpa, just added an image of that iSSH landscape issue. The easiest way, I think, was to show you the app running "top", so you could see that the summary lines at the top of the screen are clearly cut off.

  • Nice write up. A couple of screen shots of what you were describing would have been helpful (e.g. iSSH's landscape issue). Thanks, Al

blog comments powered by Disqus

Not Found

Sorry, but what you are looking for isn't here...