Connect via UART TTL. You will want to get this working sooner or later, as it is the best way to debug your buildroot distro on the board.config is simply raspberrypi2defconfig + openssh enabled with make menuconfig. Then just: ssh 'root@$(cat /var/lib/misc/dnsmasq.leases cut -d ' '.
Buildroot is a tool that simplifies and automates the process ofbuilding a complete Linux system for an embedded system, usingcross-compilation. In order to achieve this, Buildroot is able to generate across-compilation toolchain, a root filesystem, a Linux kernel imageand a bootloader for your target. Image: buildroot-2020.11.img.bz2 sha512.
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.
- 1Enabling dropbear server
- 4Setting keys to get ssh connectivity without password requests
Enabling dropbear server
How to enable Dropbear server
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
Starting dropbear server
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):
Commands to use ssh
From target:
From host:
Commands to use scp
From target or host:
Example ssh client connecting to target hardware using a password
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:
Adding root ssh login to development directory
Buildroot Ssh Password
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.
Setting keys to get ssh connectivity without password requests
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
How to get Dropbear public and private keys in target manually
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:
How to set Dropbear public key in host
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:
How to get OpenSSH public and private keys in host computer (dsa)
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.
Buildroot Ssh Download
On your host computer, verify you can ssh to target hardware without using a password:
How to get OpenSSH public and private keys in host computer (ras)
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.
How to set OpenSSH public key in target
Buildroot Ssh Permission Denied
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:
Commands to use ssh without password request
From host:
From target:
Commands to use scp without password request
Form host:
Form target:
There is more information about Remote Access.