adm_, у вас шелл /bin/sh в /etc/passwd? Если да, то я все равно пока не уверен 100%, что musl выдает /bin/sh при отсутствующем /etc/shells, надо musl исходники смотреть. Если нет, то strace показывает, что пока проблема в /etc/shells. Dropbear этот файл не видит, и без него не пустит никого и ни за что. Проще говоря, будьте добры, дайте выхлоп "cat /etc/shells" и "cat /etc/passwd" (без самого пароля). Мы же не знаем, вдруг банально ваш /etc/shells - мертвый симлинк.
Upd. В musl по дефолту /bin/sh и /bin/csh
(Временная тема) Статическая сборка dropbear 2018.76
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
kaztost писал(а):Источник цитаты пока не уверен 100%, что musl выдает /bin/sh при отсутствующем /etc/shells, надо musl исходники смотреть.
Код: Выделить всё
....musl-1.1.19/src/legacy$ cat getusershell.c
#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>
static const char defshells[] = "/bin/sh\n/bin/csh\n";
static char *line;
static size_t linesize;
static FILE *f;
void endusershell(void)
{
if (f) fclose(f);
f = 0;
}
void setusershell(void)
{
if (!f) f = fopen("/etc/shells", "rbe");
if (!f) f = fmemopen((void *)defshells, sizeof defshells - 1, "rb");
}
char *getusershell(void)
{
ssize_t l;
if (!f) setusershell();
if (!f) return 0;
l = getline(&line, &linesize, f);
if (l <= 0) return 0;
if (line[l-1]=='\n') line[l-1]=0;
return line;
}
-
- Сообщения: 13
- Зарегистрирован: 02 мар 2018, 07:23
kaztost,
/data/local/entware/root # cat /etc/passwd|grep root
root:*****************************:0:0::/data/local/cron:/system/bin/sh
/data/local/entware/root # cat /etc/shells
/opt/bin/sh
/opt/bin/ash
/bin/false
/data/local/entware/root # cat /opt/etc/shells
/opt/bin/sh
/opt/bin/ash
/bin/false
/data/local/entware/root # тут не хватает последней пустой строки?
а вот приветствие старого дропбеэ:
BusyBox v1.27.2 () built-in shell (ash)
/data/local/entware/root #
/data/local/entware/root # cat /etc/passwd|grep root
root:*****************************:0:0::/data/local/cron:/system/bin/sh
/data/local/entware/root # cat /etc/shells
/opt/bin/sh
/opt/bin/ash
/bin/false
/data/local/entware/root # cat /opt/etc/shells
/opt/bin/sh
/opt/bin/ash
/bin/false
/data/local/entware/root # тут не хватает последней пустой строки?
а вот приветствие старого дропбеэ:
BusyBox v1.27.2 () built-in shell (ash)
/data/local/entware/root #
Последний раз редактировалось adm_ 07 май 2018, 19:21, всего редактировалось 1 раз.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
adm_ писал(а):Источник цитаты тут не хватает последней пустой строки?
1. Точно не хватает /system/bin/sh в файле /etc/shells
2. dropbear (см strace) не должен говорить, что этого файла нет.
-
- Сообщения: 13
- Зарегистрирован: 02 мар 2018, 07:23
Zyxmon, kaztost,
вот лог неудачного логина после добавления строки /system/bin/sh
/data/local/entware/root # rm /opt/root/strace.log
/data/local/entware/root # /system/xbin/strace -f -v -o /opt/root/strace.log /opt/bin/dropbear -p 443 -W 1024
[5020] May 07 15:33:03 Failed loading /etc/dropbear/dropbear_dss_host_key
[5020] May 07 15:33:03 Failed loading /etc/dropbear/dropbear_ecdsa_host_key
[5022] May 07 15:33:04 Running in background
[5109] May 07 15:33:19 Child connection from 192.168.1.2:48536
[5109] May 07 15:33:28 Bad password attempt for 'root' from 192.168.1.2:48536
[5109] May 07 15:36:53 Bad password attempt for 'root' from 192.168.1.2:48536
[5109] May 07 15:37:02 Bad password attempt for 'root' from 192.168.1.2:48536
# ls -lFa /etc/shells
-rw-r--r-- 1 root root 51 May 7 15:24 /etc/shells
...и Вы про коннект по ключу как-то ничего не говорите...
вот лог неудачного логина после добавления строки /system/bin/sh
/data/local/entware/root # rm /opt/root/strace.log
/data/local/entware/root # /system/xbin/strace -f -v -o /opt/root/strace.log /opt/bin/dropbear -p 443 -W 1024
[5020] May 07 15:33:03 Failed loading /etc/dropbear/dropbear_dss_host_key
[5020] May 07 15:33:03 Failed loading /etc/dropbear/dropbear_ecdsa_host_key
[5022] May 07 15:33:04 Running in background
[5109] May 07 15:33:19 Child connection from 192.168.1.2:48536
[5109] May 07 15:33:28 Bad password attempt for 'root' from 192.168.1.2:48536
[5109] May 07 15:36:53 Bad password attempt for 'root' from 192.168.1.2:48536
[5109] May 07 15:37:02 Bad password attempt for 'root' from 192.168.1.2:48536
# ls -lFa /etc/shells
-rw-r--r-- 1 root root 51 May 7 15:24 /etc/shells
...и Вы про коннект по ключу как-то ничего не говорите...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
adm_ писал(а):Источник цитаты ...и Вы про коннект по ключу как-то ничего не говорите...
По ключу, если использовать Entware, все работает. А что у Вас, что за исходники - это уже сами.....
Я не понимаю, почему нет желания использовать Entware или готовый Linux.
PS Выкладывайте логи на pastebin, а не в прикрепленный архив. Читающему в 1000 раз удобнее.....
-
- Сообщения: 13
- Зарегистрирован: 02 мар 2018, 07:23
Zyxmon,
стоп, в энтваревский дропбеэ я захожу по ключу на ура, что видно по логам.
не работает собранный kaztost'ом дропбеэ 2018.76, в исходниках которого, даю честное слово, мною не написано ни строчки...
...так что кивание на исходники либо мною не понято, либо мимо цели...
По ключу, если использовать Entware, все работает. А что у Вас, что за исходники - это уже сами.....
стоп, в энтваревский дропбеэ я захожу по ключу на ура, что видно по логам.
не работает собранный kaztost'ом дропбеэ 2018.76, в исходниках которого, даю честное слово, мною не написано ни строчки...

...так что кивание на исходники либо мною не понято, либо мимо цели...
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
adm_ писал(а):Источник цитаты в исходниках которого, даю честное слово, мною не написано ни строчки
Ну мною тоже ни строчки, я только собрал. Причем это часть касается самого musl, которая вошла в бинарник в виде части скомпилированного разработчиками Alpine Linux-а файла libc.a. И у меня все прекрасно работает на нескольких устройствах. Гипотез почему такое у вас происходит у меня нет, если все правда: /etc/shells то ли есть, то ли нет. Нет, такое можно организовать конечно как в kernel-space, так и в userspace, но вряд ли производитель на это сподобился. Ну попробуйте удалить симлинк /etc (андроид переживет сию потерю), и создать симлинк /etc->/opt/etc, если в энтвари все работает.
А ключи пока не причем вообще. Вот увидит dropbear файл shells - только тогда можно говорить о ключах и паролях.
-
- Сообщения: 13
- Зарегистрирован: 02 мар 2018, 07:23
kaztost,
unlink /etc; ln -s /opt/etc /etc - пароль принят, но во входе отказано.
https://pastebin.com/R44wrFLb + https://pastebin.com/Q9YQ1iWV
выскажите предположения, плиз, почему может не работать вход по ключу, по которому успешно коннектится старый дропбеэ (а также по ещё 2м созданным в новом дропбеэ ключам).
unlink /etc; ln -s /opt/etc /etc - пароль принят, но во входе отказано.
https://pastebin.com/R44wrFLb + https://pastebin.com/Q9YQ1iWV
выскажите предположения, плиз, почему может не работать вход по ключу, по которому успешно коннектится старый дропбеэ (а также по ещё 2м созданным в новом дропбеэ ключам).
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Зачем вы тот же самый лог еще раз выложили https://pastebin.com/Q9YQ1iWV ?
Выкладывайте новый, где /etc/shells нашелся или опять не нашелся. Если не нашелся, то еще раз - ключи к результату операции отношения не имеют.
А первый пастебин что? лог клиента? Зачем? Мы пока считаем, что клиент верно посылает ключи и все остальное.
Выкладывайте новый, где /etc/shells нашелся или опять не нашелся. Если не нашелся, то еще раз - ключи к результату операции отношения не имеют.
А первый пастебин что? лог клиента? Зачем? Мы пока считаем, что клиент верно посылает ключи и все остальное.
Вернуться в «Entware на Android»
Кто сейчас на конференции
Всего 3 посетителя :: 0 зарегистрированных, 0 скрытых и 3 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя