This is an SSH server running as root using the great Magisk systemless root suite. It includes binaries for arm, arm64, x86, x86_64, mips and mips64. However, only arm64 has been tested at all. It requires Android API version 23 or higher (Android 6.0 Marshmallow and higher).
- OpenSSL 1.0.2t (only needed for its libcrypto)
- OpenSSH 8.1p1
- Rsync 3.1.3
- Magisk Module Installer
Download the zip file and install it via the Magisk Manager app. Once this module is available in the Magisk module repository, you can just install it from there.
SSH keys can be put into /data/ssh/root/.ssh/authorized_keys
and /data/ssh/shell/.ssh/authorized_keys
using your favorite method of editing files.
The sshd configuration file in /data/ssh/sshd_config
can be edited as well, but please be aware that some features usually present in an OpenSSH installation may be missing. Most importantly, password login is not possible using this package.
The ssh daemon automatically starts on device boot. If this is undesired, you can create a file /data/ssh/no-autostart
. It will not start the service then.
Once you have written a valid SSH public key into an authorized_keys
file (see section 'Configuration' above), you can connect to the device using ssh shell@<device_ip>
(unprivileged access) or ssh root@<device_ip>
(privileged access), while supplying the correct private key. You will drop into a shell on the device. sftp and rsync should work as usual.
If you want to manually start/stop the sshd-service, you may do so using /magisk/ssh/opensshd.init start
and /magisk/ssh/opensshd.init stop
. This is usually not necessary but may be useful if you use the no-autostart
file described earlier.
Uninstalling the module via the Magisk Manager does not fully remove all data that has been installed or created during execution. You may want to delete the /data/ssh
folder from your device to remove all traces of this module.
Please don't file Pull Requests against the module repository. The module building is an automated process and will overwrite any changes to the files in the module repository. Feel free to create a Merge Request against the source repository, instead.
- magisk install config installing into system/xbin and system/lib64 Well I wanted to have ssh installed so I can use ssh from everywhere. Did not rly check if the daemon works.
- Version bump.
- OpenSSL 1.0.2t
- OpenSSH 8.1p1
- Magisk installer v20.1
- Remove downloading Magisk template, directly include the installer structure instead
- Bugfix.
- Correctly apply permissions to bin/raw files
- Bugfixes.
- Avoid hardcoding MODDIR in opensshd.init
- Use wrapper script for setting LD_LIBRARY_PATH instead of setting it in init script
- Version bump.
- OpenSSL 1.0.2r
- Version bumps (except rsync).
- Set owner and permissions for shell directory
- OpenSSL 1.0.2p
- OpenSSH 7.9p1
- Magisk Module Template v17000
- Derive paths from $MODDIR instead of hardcoding /magisk
- Version bumps.
- Fix sftp rename on filesystems without hardlinks (ie. FAT32)
- OpenSSL 1.0.2o
- OpenSSH 7.7p1
- Rsync 3.1.3
- Magisk Module Template v1500
- Version bumps.
- OpenSSL 1.0.2m
- OpenSSH 7.6p1
- Rsync 3.1.2
- Magisk Module Template v1400
- Initial release.
- OpenSSL 1.0.2l
- OpenSSH 7.5p1
- Rsync 3.1.2
- Magisk Module Template v1400