This repository contains the tools needed to compile dropbear for the arm-kobo-linux-gnueabihf
system (all recent Kobo products). This binary is used for root shell access on Kobo devices which, in my case, is used to deploy and debug software on e-readers.
This repository uses submodules, and must be cloned with:
git clone --recursive https://github.com/Ewpratten/KoboSSH.git
This project piggy-backs off the toolchain I use for kolib, so everything is done inside a docker container. Thus: you must have docker installed on your system to compile dropbear. With docker installed, simply run:
docker pull ewpratten/kolib_toolchain:crosstools
./compile.sh
The resulting ARM binary will be placed at ./dropbearmulti
I keep some prebuild binaries on the releases page.
This assumes you already have telnet access to the device
Dropbear needs somewhere to go on the system. I chose /mnt/onboard/opt/dropbear
. With the binary copied over, the following commands will set up ssh keys for the device:
cd /mnt/onboard/opt/dropbear
./dropbearmulti dropbearkey -t dss -f dss_key
./dropbearmulti dropbearkey -t rsa -f rsa_key
./dropbearmulti dropbearkey -t ecdsa -f ecdsa_key
The following command can be used to test dropbear:
/mnt/onboard/opt/dropbear/dropbearmulti dropbear -F -E -r /mnt/onboard/opt/dropbear/dss_key -r /mnt/onboard/opt/dropbear/rsa_key -r /mnt/onboard/opt/dropbear/ecdsa_key -B
To make dropbear start on boot, add the following line to /opt/inetd.conf
:
22 stream tcp nowait root /mnt/onboard/opt/dropbear/dropbearmulti dropbear -i -r /mnt/onboard/opt/dropbear/dss_key -r /mnt/onboard/opt/dropbear/rsa_key -r /mnt/onboard/opt/dropbear/ecdsa_key -B
Rebooting should start up an SSH server on the device.