LINUX.ORG.RU
ФорумAdmin

работа SFTP на Raspberry PI4 (Buildroot)

 ,


0

1

Дано: малинка запускается с USB-Flash на которую с помощью Raspberry Pi Imager записан образ sdcard.img, собранный в Buildroot 2026.02 (с заменой root=/dev/mmcblk0p2 на root=/dev/sda2 в cmdline). По ssh подключаюсь root юзером, могу создавать в корне файлы, однако при подключении по SFTP отображается только дерево каталогов, более ничего не удается сделать (запись/удаление файлов, переход по директориям и тд).

Такой эффект в схеме с Dropbear + GESFTPSERVER, аналогичное и в схеме с OpenSSH.

Стандартные советы из гугла/ии не помогают. Этим же sftp-клиентом все работает если малинка грузится с USB-Flash с записанным Raspberry OS 64 (вместо моего образа из buildroot).

SFTP отображается только дерево каталогов, более ничего не удается сделать (запись/удаление файлов, переход по директориям и тд).

Как-нибудь в ответ ругается?

По ssh подключаюсь root юзером, могу создавать в корне файлы

А с помощью scp файлы можно скопировать?

Jullyfish
()
Ответ на: комментарий от Jullyfish

из намеков на логи имеется только это:

# cat /tmp//messages
Jan  1 00:02:49 F-RaspberryPi authpriv.notice dropbear[441]: Password auth succeeded for 'root' from 192.168.1.123:57881
Jan  1 00:03:19 F-RaspberryPi authpriv.info dropbear[441]: Exit (root) from <192.168.1.123:57881>: Disconnect received

то есть на подключение/отключение от сервера. на попытки сделать какое либо действие (скачать/закачать файл, попытка перемещения по директориям и тд) ничего…

по scp пока нет возможности чекнуть. да и нужен именно sftp

k000858
() автор топика
Последнее исправление: k000858 (всего исправлений: 1)

проблема решилась.

после перехода с dropbear + gesftpserver на openssh новая связка некорректо подтянулась в сборку. после make clean && make все заработало.

думал билдрут увидит изменения в menuconfig и пересоберет target однако не…

k000858
() автор топика
Ответ на: комментарий от k000858

Да, buildroot такое не умеет. Тут ещё бывает тонкость, когда добавляешь новый пакет, а он входит уже в другой установленный пакет, надо делать make <package>-rebuild. В теории, чтобы не делать целиком make clean, можно было сделать make dropbear-dirclean.

Хотя, скорее всего, тоже не прокатит, т.к. в target/ dropbear останется.

Jullyfish
()
Последнее исправление: Jullyfish (всего исправлений: 1)
Ответ на: комментарий от k000858

На будущее. Без make clean можно сделать, т.к. заново всё пересобирать бывает очень накладно:

https://stackoverflow.com/questions/47320800/how-to-clean-only-target-in-buildroot

Единственное, я не понимаю зачем строчка:

rm -f output/build/host-gcc-final-*/.stamp_host_installed

Так что я её пропускаю. :^)

Jullyfish
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария