My Holy Grail Of iPhone Apps Arrives: pTerm

Just this week I was posing the question of where are all the (no-jailbreak-required) ssh/terminal apps for the iPhone? While not the best platform for such a tool (the keyboard would – and does, as you will see – eat up some serious real estate), the platform has enough processing power to handle such an app and there are definitely times when it is handy to get ultra-portable access to your systems.

As if they were listening for my request, Instant Cocoa released pTerm, which provides support for SSH, Telnet and taw TCP client connections from your iPhone. pTerm is based on PuTTY, one of the more stable & well-known ssh client suites (OS X users can grab that via some ports).

You start new sessions by choosing from the Connections panel:

To get an entry on that panel, you use a very basic configuration screen to enter a display name for the connection, the host (or IP address) and the port you wish to connect on:

For ssh connections, you will receive a warning about host keys that you should be familiar with if you’ve used ssh before (the developers presented this in a great way as it would have been much less iPhone-like to deal with this from within the terminal prompt):

The terminal sessions work in both landscape and portrait modes,

and the xterm emulation worked with “top” (which auto-updates) and “pine” (a terminal-based e-mail reader that does quite a bit of screen manipulation).

The Instant Cocoa devs understood the need for the CTRL key (yay!) and version 1.1 adds support for ESC as well (kinda useful if you choose to use “vi” in the session). Version 1.1 also fixes some instability issues and adds full-screen support (as you can see, the keyboard eats up the majority of the real-estate). They are working on allowing users to customize the terminal sizes/colors, adjust TCP settings, provide support for port forwarding and include ways to use more easily use terminal-specific keys.

Since pTerm is based on PuTTY, we may be able to expect to see significant feature enhancements. I would personally like to see the ability to use RSA/DSA keys and the ability to log sessions (which would require some way to get that log off the iPhone). It would also be great to keep multiple sessions open simultaneously (it’s in the works) and switch between them. Some folks might like the ability to cache credentials or at least the username associated with ssh sessions (not recommended, but it’s a personal-risk-decision one can make). For RAW socket connections, having a way to record and playback keystrokes or define a set of strings to paste into the session would be great for rapid testing of web/internet services.

For me, pTerm is definitely worth $4.99USD, especially if that covers major updates for a while. I’ve only tested it over EDGE, but it worked flawlessly, even with the latency.

If you use pTerm or have some feature requests for it, drop a note in the comments!