есть еще один вариант. Хранить ключ в nvram. Места там хватает.

Тогда можно сделать так:
1) если ключей в nvram нет, то сгенерить их
2) если flashfs disabled то создать /tmp/local/etc/dropbear и развернуть туда ключи (flashfs не сохраняем --- оставляем это на совести юзера)
3) если enabled то проверить наличие директории и при необходимости развернуть туда же (flashfs либо сохранить, либо нет --- вроде без большой разницы)

ключ в nvram можно хранить в текстовом формате.

Единственная проблема остается --- если юзер сгенерит ключи сам, то в flashfs и в nvram будут храниться разные ключи. Однако, функциональность будет сохранена в любом случае.

Кстати, любопытный вопрос. Размер nvram составляет 64К:
PHP Code:
cat /proc/mtd grep nvram
mtd3
00010000 00010000 "nvram" 
С другой стороны, объем используемой памяти составляет ровно 32768 байт:
PHP Code:
nvram show > /dev/null
size
11633 bytes (21135 left
Сидит эта цифра в макросе NVRAM_SPACE объявленном как 0x8000. Выходит, что 32К пропадают совсем впустую.