2014-12-22 14:06:47 +00:00
< html > < head > < title > SimpleSSHD< / title > < / head >
< body >
< p style = "float:right;" > < img src = "icon.png" > < / p >
< h1 > SimpleSSHD< / h1 >
< p > 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).< / p >
< h2 > Quick start< / h2 >
< ul >
< li > Install SimpleSSHD.
2016-06-19 20:53:04 +00:00
< li > Either:
< ul >
< li > Go to SimpleSSHD -> Menu (upper right) -> Authorized Keys, and
either cut and paste an SSH public key or "Fetch" one via HTTP.
< li > OR: Make a directory < tt > /sdcard/ssh< / tt > , and put an
2014-12-22 14:06:47 +00:00
< tt > authorized_keys< / tt > file in that directory.
2016-06-19 20:53:04 +00:00
< / ul >
2014-12-22 14:06:47 +00:00
< li > On any computer which will connect to your Android device, set the
port to 2222. With OpenSSH, this can be done by putting these lines in
< tt > ~/.ssh/config< / tt > :
2016-06-19 20:56:07 +00:00
< blockquote > < pre >
2014-12-22 14:06:47 +00:00
Host myphone
Port 2222
2016-06-19 20:56:07 +00:00
< / pre > < / blockquote >
2014-12-22 14:06:47 +00:00
< li > Launch SimpleSSHD, and in Settings enable "Start on Boot", and
manually start it for the first time.
< li > You might want to put a < tt > .profile< / tt > in < tt > /sdcard/ssh< / tt > ,
too.
< / ul >
< p > Voila! You can use ssh/scp/sftp/rsync to talk to your Android device!< / p >
2014-12-22 17:43:16 +00:00
< h2 > Configuration< / h2 >
2014-12-22 14:06:47 +00:00
< p > There are three directory settings that are important for SimpleSSHD.< / p >
< p > The first is the path for general dropbear files, which defaults to
< tt > /sdcard/ssh< / tt > . Most importantly, this is where
< tt > authorized_keys< / tt > is found. It is also where host keys wind up
(they are created on demand), and where temporary files go.< / p >
< p > Next is the path to the login shell. The default Android shell is
2014-12-22 18:35:20 +00:00
< tt > /system/bin/sh< / tt > , but you may prefer to use the one that comes with
2015-06-21 13:09:42 +00:00
busybox or whatever. If you set it to the su binary (i.e.,
< tt > /system/xbin/su< / tt > ), then scp, sftp, and
rsync will run as root and should be able to access files
outside of the sdcard.< / p >
< p > 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.< / p >
< p > Finally, there is the path for the home directory, which also defaults
to < tt > /sdcard/ssh< / tt > . This is where your ssh session starts out, and is
2014-12-22 14:06:47 +00:00
where < tt > .profile< / tt > will be found if it is present.< / p >
2016-06-19 20:56:07 +00:00
< p > There is also a place where you can put additional commandline options
for dropbear server. The options which are hardcoded are:
< tt > -R -F -p :portno< / tt > .
You can use < tt > \< / tt > or < tt > "< / tt > to escape characters in this
commandline.< / p >
2014-12-22 14:06:47 +00:00
2014-12-22 17:43:16 +00:00
< h2 > Change Log< / h2 >
2014-12-22 14:06:47 +00:00
< ul >
< li > < b > 2014/12/22 Version 1.0:< / b > Initial public release.
2015-01-18 19:51:13 +00:00
< li > < b > 2014/12/29 Version 1.1:< / b > Works with Lollipop now.
2015-01-18 21:45:47 +00:00
< li > < b > 2015/01/18 Version 1.2:< / b > Displays the IP address it's listening on.
2015-06-21 13:10:56 +00:00
< li > < b > 2015/06/21 Version 1.3:< / b > Hack to make rsync work with SuperSU.
2015-11-23 14:08:52 +00:00
< li > < b > 2015/11/23 Version 1.4:< / b > Don't abort if IP address lookup fails, and make proper "About" menu.
2016-06-11 18:24:45 +00:00
< li > < b > 2016/06/11 Version 1.5:< / b > SuperSU+rsync hack now limits the buffer size to 1MB.
2016-06-13 00:35:34 +00:00
< li > < b > 2016/06/12 Version 1.6:< / b > Fix typo that broke scp/sftp/rsync in version 1.5.
2016-06-19 20:53:04 +00:00
< li > < b > 2016/06/xx Version 1.7:< / b > Don't clear environment variables (so you can use 'am' or 'pm' more easily). Add "Authorized Keys" menu option to help maintain the Authorized Keys file.
2014-12-22 14:06:47 +00:00
< / ul >
2014-12-22 17:43:16 +00:00
< h2 > About< / h2 >
2014-12-22 14:06:47 +00:00
2014-12-22 18:39:19 +00:00
< p > SimpleSSHD is built using parts from open source projects:
< a href = "https://matt.ucc.asn.au/dropbear/dropbear.html" > Dropbear SSH< / a > ,
< a href = "http://www.openssh.com/" > openssh< / a > (for scp and sftp-server),
and < a href = "http://rsync.samba.org/" > rsync< / a > . Those projects in turn
are built on other projects. A lot of people's work is represented here,
and very little of my own.< / p >
2014-12-22 14:06:47 +00:00
< p > But if you find bugs/infelicities, it's probably my fault, so email
me:< br >
< img src = "/email.png" > < / p >
2016-06-11 20:54:08 +00:00
< p > To get the source:< br >
< blockquote > < pre > git clone http://galexander.org/git/simplesshd.git< / pre > < / blockquote > < / p >
2014-12-22 14:06:47 +00:00
< / body > < / html >