Generate SSH host key on first boot
This commit is contained in:
parent
82e6fdf194
commit
2d315fdf26
|
@ -29,11 +29,6 @@ cp -a "$BUILDROOT_DIR/output/images/rootfs.cpio.uboot" "$SDCARD_DIR"
|
|||
# Wrap U-Boot script in image file
|
||||
$MKIMAGE -A arm -T script -d config/uboot_script.txt "$SDCARD_DIR/boot.scr"
|
||||
|
||||
# Create SSH host key for embedded system
|
||||
if [ ! -f "$SDCARD_DIR/dropbear_ed25519_host_key" ]; then
|
||||
dropbearkey -t ed25519 -f "$SDCARD_DIR/dropbear_ed25519_host_key"
|
||||
fi
|
||||
|
||||
# Copy FPGA firmware
|
||||
cp -a $FIRMWARE_FILES "$SDCARD_DIR"
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# Load SSH host key from SD card.
|
||||
#
|
||||
|
||||
. /opt/puzzlefw/lib/functions.sh
|
||||
|
||||
start() {
|
||||
|
||||
# If host key exists, do nothing.
|
||||
|
@ -14,20 +16,15 @@ start() {
|
|||
# Create directory /etc/dropbear if it does not exist.
|
||||
mkdir -p /etc/dropbear
|
||||
|
||||
# Try to copy SSH host key from SD card.
|
||||
mkdir -p /mnt/tmp_sdcard
|
||||
mount -t vfat -o fmask=0177 -r /dev/mmcblk0p1 /mnt/tmp_sdcard
|
||||
|
||||
if ! cp -p /mnt/tmp_sdcard/dropbear_ed25519_host_key /etc/dropbear ; then
|
||||
# Try to copy SSH host key from configuration files.
|
||||
if ! cp -p ${CONFIG_DIR}/dropbear_ed25519_host_key /etc/dropbear ; then
|
||||
echo "WARNING: Failed to load SSH host key from SD card" >&2
|
||||
umount /mnt/tmp_sdcard
|
||||
rmdir /mnt/tmp_sdcard
|
||||
exit 1
|
||||
echo "Generating new SSH host key." >&2
|
||||
dropbearkey -t ed25519 -f ${CONFIG_DIR}/dropbear_ed25519_host_key.new
|
||||
sync_config dropbear_ed25519_host_key
|
||||
cp -p ${CONFIG_DIR}/dropbear_ed25519_host_key /etc/dropbear
|
||||
fi
|
||||
|
||||
umount /mnt/tmp_sdcard
|
||||
rmdir /mnt/tmp_sdcard
|
||||
|
||||
chmod 0600 /etc/dropbear/dropbear_ed25519_host_key
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,8 @@ read_config() {
|
|||
mount -t ext4 -r -o noatime,data=journal /dev/${CONFIG_PARTITION} $CONFIG_MOUNTPOINT || return 1
|
||||
|
||||
# Copy config files to RAM filesystem.
|
||||
cp -a ${CONFIG_MOUNTPOINT}/*.conf $CONFIG_DIR
|
||||
cp -a ${CONFIG_MOUNTPOINT}/*.conf $CONFIG_DIR || true
|
||||
cp -a ${CONFIG_MOUNTPOINT}/dropbear_* $CONFIG_DIR || true
|
||||
|
||||
umount $CONFIG_MOUNTPOINT
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue