Bug 47216 - dropbear не может работать в initrd
Summary: dropbear не может работать в initrd
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-12 23:15 MSK by Дмитрий Андреев
Modified: 2023-08-17 16:43 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Дмитрий Андреев 2023-08-12 23:15:33 MSK
При подключении dropber отвечает что нет доступного устройства PTY и рвет соединение.
$ ssh root@192.168.200.128
PTY allocation request failed on channel 0
shell request failed on channel 0

Так же неудобно то, что root/.ssh/authorized_keys ищется в /home/ а не в /, т.к. в /etc/passwd у root прописано /home/root вместо привычного /root
Comment 1 Alexey Gladkov 2023-08-14 17:42:40 MSK
(In reply to Дмитрий Андреев from comment #0)
> Так же неудобно то, что root/.ssh/authorized_keys ищется в /home/ а не в /,
> т.к. в /etc/passwd у root прописано /home/root вместо привычного /root

В initrd /root используется для монтирования корневой файловой системы очень давно. Да и сейчас используется в коде ядра:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts_initrd.c#n79
Comment 2 Дмитрий Андреев 2023-08-16 14:55:28 MSK
(Ответ для Alexey Gladkov на комментарий #1)
> (In reply to Дмитрий Андреев from comment #0)
> > Так же неудобно то, что root/.ssh/authorized_keys ищется в /home/ а не в /,
> > т.к. в /etc/passwd у root прописано /home/root вместо привычного /root
> 
> В initrd /root используется для монтирования корневой файловой системы очень
> давно. Да и сейчас используется в коде ядра:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/
> do_mounts_initrd.c#n79

/home/root - это всего-лишь неудобство, которое пользователь может легко купировать. Например совсем "в лоб": mkdir -p /home/root/.ssh; chmod 700 /home/root/.ssh; cp /root/.ssh/authorized_keys /home/root/.ssh/; make-initrd; rm -rf /home/root

А вот с тем, что при добавлении FEATURE dropbear не предусмотрено создание PTY устройств, рядовой пользователь уже не справится.
Comment 3 Alexey Gladkov 2023-08-16 15:06:09 MSK
> А вот с тем, что при добавлении FEATURE dropbear не предусмотрено создание PTY устройств, рядовой пользователь уже не справится.

Это ошибка. Я уже добавил монтирование devpts в сервис dropbear, если он ещё не смонтирован, но ещё никуда не выкладывал эти изменения.
Comment 4 Repository Robot 2023-08-17 16:43:09 MSK
make-initrd-2.38.0-alt1 -> sisyphus:

 Thu Aug 17 2023 Alexey Gladkov <legion@altlinux.ru> 2.38.0-alt1
 - New version (2.38.0).
 - Runtime:
   + Rename monotonic-timestamp -> timestamp.
   + Use boottime instead of monotonic time (ALT#47188).
 - Feature dropbear:
   + Mount devpts if not mounted (ALT#47216).
 - Guess subsystem:
   + Add device suppliers to initrd (ALT#47045).
 - Remove unsupported bootloader feature.