SSH on Android

There are a few SSH clients out there for Android, ConnectBot being the most popular and BTEP also proving popular. Both of these provide good front end interfaces, but suck on keyboard support. There’s nothing more frustrating than pressing Ctrl on a bluetooth keyboard, only for it to behave entirely contra to your expectations.

Instead, I use a combination of the Android Terminal Emulator, which is an excellent emulator, providing support for meta-keys and back-key/escape mapping and DropBear SSH client (Android modifications are availible here), which quite a few of the SSH clients on the market are already based on. If you’re running CyanogenMod, you should already have both the terminal and ssh client installed. It’s worth getting the latest version of the terminal emulator from the market, since they recently added 256 colour support. If you’re running other ROMS, you may need to install one or other of the components. Stock firmwares may need rooting.

DropBear public keys work a bit different than OpenSSH ones, so you’ll need to follow a slightly different set of instructions to generate your key. This guide should set you on the right lines.

Dropbear doesn’t have a central repository of keys, so either you need to pass the key file to dropbear every time you connect, (which is tedious) or set up a script. I keep a local folder on the tablet with scripts to connect to various servers, another for the keys, and then add the script folder to the path within Android Terminal Emulator. So – to connect to the server “toy”, all I have to do is fire up the terminal and then type sshtoy.

It’s quite a bit of work to set up, but once it’s up and running, it’s the best ssh client I’ve found on Android. It works just as well with the Hacker’s Keyboard as it does physical ones.

Edit: The Android default terminal font isn’t bad, but I find it odd to go from one machine to another and have the font change. I currently use Source Code Pro everywhere (which I’ve found excellent), you can change fonts on rooted devices pretty easily.

  • Hi Kian, have you tried JuiceSSH?  We published to the Play Store around the same time you wrote this article. We’d like to hope our keyboard support is up to your expectations.

    https://play.google.com/store/apps/details?id=com.sonelli.juicessh

  • kianryan

    I’d like to say that Juice has been a good experience – but I’ve so far not managed to make a single connection to any of my servers.  And I’d like to think I know what I was doing.  Most of my passwords contain special characters – I suspect the problem may lie therein.

  • apple

    it can’t install in China.why?

  • in my place ssh used to cloak ip for free data service http://punzme.com

  • mrtumnus

    Thanks for the info! How did you persistently modify the path? I’ve just stored some scripts in /system/bin, but don’t really like doing that