This article describes the required steps for the initial configuration and usage of the built-in SSH server. In the following example, it will be assumed that your device either has a working ADB USB interface or a working network connection with a local IP address
To setup the ADB tools for your PC, please refer to the section SDK Platform Tools in the official documentation.
- Please enable the USB Debugging feature in Settings => Developer options.
- Connect the USB cable to your device and make sure it is detected by ADB:
> adb devices > adb root
- Please enable the ADB over Ethernet feature in Settings => Emteria.
- Connect to the device using the correct IP address of your device:
> adb connect 192.168.0.100 > adb root
There are many different ways of logging into an SSH server but for now emteria.OS only supports key-based authentication. This approach provides a simple, yet very secure way of remote control for your device.
- Generate a pair of SSH keys to be used for the authentication. Alternatively, you can use SSH keys which were automatically generated by emteria.OS during the first boot:
> adb pull /data/ssh/ssh_host_rsa_key my_private_key > adb pull /data/ssh/ssh_host_rsa_key.pub my_public_key.pub
- Add the desired public key to the list of keys which will be allowed to establish a remote connection with this device:
> adb push my_public_key.pub /data/ssh/authorized_keys
The ADB must be disabled in production devices, as it opens the possibility for attackers to control the system remotely. After setting up a secure SSH authentication, the ADB over Ethernet should be deactivated in Settings => Emteria.
- Activate the integrated SSH server in Setting => Emteria.
- Establish a connection to your device using the correct IP address:
> ssh -i my_private_key email@example.com rpi3:/ # id uid=0(root) gid=0(root) groups=0(root), context=u:r:sshd:s0