SimpleSSHD

SimpleSSHD is an SSH2 server based on dropbear that supports scp, sftp, and rsync. It only supports public-key based authentication (no password/interactive auth). It does not use root, which means it must listen on a port over 1024 (defaults to port 2222).

Quick start

Voila! You can use ssh/scp/sftp/rsync to talk to your Android device!

Configuration

There are three directory settings that are important for SimpleSSHD.

The first is the path for general dropbear files, which defaults to /sdcard/ssh. Most importantly, this is where authorized_keys is found. It is also where host keys wind up (they are created on demand), and where temporary files go.

Next is the path to the login shell. The default Android shell is /system/bin/sh, but you may prefer to use the one that comes with busybox or whatever. If you set it to the su binary (i.e., /system/xbin/su), then scp, sftp, and rsync will run as root and should be able to access files outside of the sdcard.

A bug in SuperSU interacts with an infelicity in rsync to cause an occasional deadlock. This is a real pain because I use SuperSU+rsync for system-wide backups, which will always eventually trigger the deadlock. To work around this, there is a "Buffer hack" option that should be enabled if you use rsync with SuperSU. It adds a miniscule overhead to rsync, but isn't harmful even if you aren't using SuperSU.

Finally, there is the path for the home directory, which also defaults to /sdcard/ssh. This is where your ssh session starts out, and is where .profile will be found if it is present.

There is also a place where you can put additional commandline options for dropbear server. The options which are hardcoded are: -R -F -p :portno. You can use \ or " to escape characters in this commandline.

Change Log

About

SimpleSSHD is built using parts from open source projects: Dropbear SSH, openssh (for scp and sftp-server), and rsync. Those projects in turn are built on other projects. A lot of people's work is represented here, and very little of my own.

But if you find bugs/infelicities, it's probably my fault, so email me:

To get the source:

git clone http://galexander.org/git/simplesshd.git