Dropbear is a relatively small SSH server and client. It runs on a variety of POSIX-based platforms. Dropbear is particularly useful for 'embedded' type Linux systems.
The SSH configuration is handled by the Dropbear subsystem of uci and the configuration file is located in /etc/config/dropbear. Each dropbear SSH server instance uses a single section of the configuration file, and you can have multiple instances.
1-Open sdk configuration system
2- Enable Dropbear server:
3- When Dropbear is selected, scp and ssh are showed
4- You should also enabled some user and password management tools
-> File System Configuration
To start server, run the following script:
When this script run, normally the public key is printed in the log, similar to (long keys shortened to make it easier to ready):
From target:
From host:
From target or host:
If something goes wrong while trying to connect to the dropbear ssh daemon, you can get some hints looking in /var/log/messages on the target file system.
On the target device:
On your host computer (adjust target hardware name/IP address as needed):
You should see something similar to the following if all is working correctly:
If you always want the target file system to contain the same ssh keys and ability to use ssh to log in as root, run the steps above (using root NFS mount) and verify you can ssh in as root user, then:
These steps are useful when developing the product. You should delete the keys from the overlay file system before generating production code.
The above steps should not be used if more than one board will be on the same subnet as all boards will have the same ethernet MAC address.
To enable this mode, add '-s' option at the start server command, it can be added in the devdir fs script or in the target fs directly.
To add this option in the devdir, open the file $DEVDIR/fs/apps/dropbear.x.y/dropbear and add the option '-s' in the flag DROPBEAR_EXTRA_ARGS
After do that, rebuild and reinstall the application, then start the Dropbear server running the following script:
The first time that this script run, the script prints in log the public key. If Dropbear was started at this point, the public key can be print it manually, this process must be explained in the next section.
To add this option in the target fs directly, repeat the same action in the script /etc/init.d/dropbear. After that, restart the application
The 'dropbearkey' tool creates public and private keys or show the public key.
To create an pair of keys, run the following command:
The last command saves in /etc/dropbear/dropbear_rsa_host_key the private key, and prints the public key. To show only the public key in the required format, run the commmand:
When the public key was generated by Dropbear in the target, it must be added in the correctly host file location.
The public key must added in the file
The public key generated by Dropbear must have similar format to:
After to add the public key in the host, reinitialize the ssh server:
You need to create a public / private key and install the public key on the target file system.
On your host computer:
There are two options for installing the public key on the target file system.
If you are using $DEVDIR/myapps/fs_overlay:
Otherwise, just install the public key directly into the SDK target file system directory:
In both cases you need to make sure the owner and group for the .ssh directory and .ssh/authorized_keys is set correctly from the target device's point of view.
On your host computer, verify you can ssh to target hardware without using a password:
You need to create a public / private key and install the public key on the target file system.
On your host computer:
There are two options for installing the public key on the target file system.
If you are using $DEVDIR/myapps/fs_overlay:
Otherwise, just install the public key directly into the SDK target file system directory:
In both cases you need to make sure the owner and group for the .ssh directory and .ssh/authorized_keys is set correctly from the target device's point of view.
On your host computer, verify you can ssh to target hardware without using a password:
The following command, creates two files in ~/.ssh/, one is named id_rsa and is the private key (It mustn't be touched) and other that is named id_rsa.pub, this file contain the public key, this content must be added in target location explained in the next section.
The public key generated in host, must be added in the target file /home/<user>/.ssh/authorized_keys, It must have format similar to:
Set the permissions correctly
After to do that, restart the Dropbear server using the following command:
From host:
From target:
Form host:
Form target:
There is more information about Remote Access.
Developer(s) | Matt Johnston |
---|---|
Initial release | April 2003, 06; 18 years ago |
Stable release | 2020.80 (June 26, 2020; 9 months ago) [±][1] |
Repository | |
Written in | C |
Operating system | Unix-like |
Type | Remote access |
License | MIT license |
Website | matt.ucc.asn.au/dropbear/dropbear.html |
Dropbear is a software package written by Matt Johnston that provides a Secure Shell-compatible server and client. It is designed as a replacement for standard OpenSSH for environments with low memory and processor resources, such as embedded systems. It is a core component of OpenWrt and other router distributions.
Dropbear was originally released in April 2003.
Dropbear implements version 2 of the Secure Shell (SSH) protocol.[2]
The cryptographic algorithms are implemented using third-party cryptographic libraries included internally in the Dropbear distribution. It derives some parts from OpenSSH to handle BSD-style pseudo terminals.[3]
Dropbear implements the complete SSH version 2 protocol in both the client and the server. It does not support SSH version 1 backwards-compatibility in order to save space and resources, and to avoid the inherent security vulnerabilities in SSH version 1. SCP is also implemented.[4] SFTP support relies on a binary file which can be provided by OpenSSH or similar programs. FISH works in any case and is supported by Konqueror.
Dropbear supports elliptic curve cryptography for key exchange, as of version 2013.61test and beyond.[5]
PTY handling code is taken from OpenSSH
ECC (elliptic curve) support. Supports ECDSA hostkeys (requires new keys to be generated) and ECDH for setting up encryption keys[...]