Welcome to the new SysAdmin Series, where we will cover apps and other tips and tricks for using your Android device to help you get the job done and stay on top of things in the realm of system administration.
Probably the foremost tool for any sysadmin is a good SSH client. My favorite so far is ConnectBot, by Kenny Root and Jeffrey Sharkey. At the time of this writing, this free, lean, simple SSH client is at version 1.6.2, weighs in at 352KB and has had more than 250,000 downloads and enjoys a 5-star rating from over 10,000 users, and describes itself as such in the Android Market:
ConnectBot is a powerful open-soure Secure Shell (SSH) client. It can manage simultaneous SSH sessions, create secure tunnels, and copy/paste between other applications.
This client allows you to connect to Secure Shell servers that typically run on UNIX-based servers.
At this point, I'm sitting at a prompt and can use the app however I need to do my job (left image below). If I need more screen real estate, I can tap my device's "back" button to remove the keyboard (center image below). If I need the keyboard back again, I can tap anywhere on the screen to reveal a keyboard icon (right image below).
I didn't have opportunity to test the secure tunneling. If any readers have experience with this, please feel free to leave a comment below.
The settings menu of the home screen of the app will allow you to manage your public keys, configure a custom color scheme, and browse a wide variety of other settings.
Remember keys in memory
This checkbox will allow you to keep unlocked keys in memory until backend service is terminated.
This will let ConnectBot check for new versions of itself; somewhat redundant. Settings are 'daily', 'weekly' and 'never'.
This checkbox will allow connections to stay connected while the app is running in the background.
There are several terminal emulation modes such as xterm-color, vt100, ansi and screen.
The default of 500 lines should be enough; increasing this will use more RAM on your device.
This setting will let you force ConnectBot to rotate the display if you so choose. The default setting will rotate the screen as you tilt your device, but you can 'fix' the display in landscape, portrait or automatic mode.
If you select this checkbox (default: off), you can hide the status bar on the screen to give you extra screen real estate.
This will select how to use Alt for '/' and Shift for Tab.
This will let you set a keyboard shortcut to activate a camera. This seems like a pretty strange thing to include in an SSH client. Since I use the Swype keyboard, I could not change to the native Android keyboard for testing this feature.
Keep Screen Awake
This disables your phone from setting your screen to sleep.
Keep Wi-Fi Active
This prevents your device's wifi from turning off while you're actively connected to a host.
This will vibrate your device when sending arrow key scrolling when using a trackball.
Checkbox setting, default is on.
Volume setting for audible bell.
Vibrate on Bell
Default is on.
Checkbox, default is on. This sends a notification on your device's Notification bar when an active terminal sends a Bell event.
I personally use ConnectBot quite often when I'm not at a system and need to do some very quick work. The size of the screen and limited keyboard don't make the app very practical for long-term use, especially when you can use tethering apps (covered in another SysAdmin article later) or using the native tethering within Froyo (Android 2.2). This is not a shortcoming of ConnectBot, this would affect any SSH client on an Android device with a smaller screen.
The only problem I really found in ConnectBot was that an active session doesn't treat the screen as a native input field -- a long-tap on the screen in a typical input field would allow you to change your Input Method, where I might want to change to a different keyboard layout (ie: Swype or native Android keyboard). This is pretty minor, however.
With the number of downloads, it's very clear that there is a demand for a good terminal app on the Android platform, and ConnectBot seems to be the clear leader.