fedotov_a_a Posted February 4, 2021 Posted February 4, 2021 Доброго времени суток. До недавно купленного роутера SNR-CPE-ME2 исправно работал роутер Asus RT-N65U (вышел из строя процессор 2.4 Ггц), с установленной прошивкой от Padavana. Ранее, из интернета внутрь роутера пробрасывал SSH-туннель, по которому уже прокидывал нужные порты до устройств в локальной сети. На Асусе была дополнительно установлена Entware, в прошивке Асуса крутился openSSH. Захотел реализовать эту же функциональность на SNR-CPE-ME2, и обнаружил, что в прошивке установлен dropbear. Этот же Асус по wi-fi 5Ггц соединил на скорую руку с основным роутером SNR-CPE-ME2 и получил сеть. Подскажите, как мне поднять форвардинг портов через SSH? С прокидыванием портов при помощи dropbeer что-то у меня не получилось. Поднять Entware и установить openSSH-server? А он не будет конфликтовать с dropbeer? Вставить ник Quote
aleks_lebedev Posted February 4, 2021 Posted February 4, 2021 Купите Микротик, и забудьте зоопарк Вставить ник Quote
fedotov_a_a Posted February 5, 2021 Author Posted February 5, 2021 (edited) Установил Enteware без ошибок. Сервис openssh появился в списке /opt/etc/init.d/S40ssh Создал символические ссылки на этот файл: в /etc/rc.d - ссылку S40ssh, в /etc/init.d/ - ссылку sshd. Очень удобно при этом пользоваться mc. После запуска ssh через servise ssh start пошла ругань отсутствие разделение привелегий: [SNR-CPE@/]# service sshd start starting sshd... Privilege separation user sshd does not exist После добавления пользователя в sshd:x:100:100:Privilege-separated SSH:/opt/var/empty/sshd:/sbin/nologin появилась ругань на отсутствующие host ключи. Сгенерировал ключи [SNR-CPE@/]# ssh-keygen -A ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 и вуаля! [SNR-CPE@/]# service sshd start starting sshd... [SNR-CPE@/]# service sshd status PID of sshd is 8071 сохранился на всякий пожарный и перезагрузил fs save && reboot После перезагрузки сервис не стартанул, потому что в /etc/passwd отсутствует пользователь sshd (опция "UsePrivilegeSeparation no" почему-то в openssh-server из entware не поддерживается). [SNR-CPE@/]# service sshd start starting sshd... Privilege separation user sshd does not exist [SNR-CPE@/]# Коллеги, есть ли ошибка в ручном добавлении пользователя в файл /etc/passwd ? Что можно сделать? Edited February 5, 2021 by fedotov_a_a Вставить ник Quote
fedotov_a_a Posted February 5, 2021 Author Posted February 5, 2021 (edited) openssh не понадобился. Всё оказалось проще и легче. Изменил параметры запуска dropbear в файле S70inetd (убрал параметр -j) и всё наладилось (сохранил прошивку fs save && reboot). Правда не знаю насколько это стало безопасно.. Пересмотрел все скрипты запуска прошивки.. Много интересного увидел и понял как и с чего начинает работать роутер. Роутер понравился.Железо не греется. Не жалею что купил. Edited February 5, 2021 by fedotov_a_a Вставить ник Quote
fedotov_a_a Posted February 10, 2021 Author Posted February 10, 2021 (edited) И всё же... По словам предыдущих разработчиков, (ссылка), для подключения к локальным сервисам марщрутизатора служит раздел "Подключение к локальным сервисам", который "... призван управлять разрешениями доступа для сервисов, установленных из Entware, т.к по умолчанию все они имеют политику drop без каких-либо разрешающих правил и исключений. Следовательно, для сервисов из entware всегда необходимо создавать правила доступа, в противном случае доступ по умолчанию будет закрыт." Демон стартует с правами текущего пользователя (администратора uid=0) как другие сервисы, но openssh не разрешает такие действия с ошибкой "Privilege separation user sshd does not exist". Подскажите что делать, чтобы подключить openssh из Entware? Edited February 10, 2021 by fedotov_a_a Вставить ник Quote
Rurmanov Posted February 17, 2021 Posted February 17, 2021 В 10.02.2021 в 15:46, fedotov_a_a сказал: И всё же... По словам предыдущих разработчиков, (ссылка), для подключения к локальным сервисам марщрутизатора служит раздел "Подключение к локальным сервисам", который "... призван управлять разрешениями доступа для сервисов, установленных из Entware, т.к по умолчанию все они имеют политику drop без каких-либо разрешающих правил и исключений. Следовательно, для сервисов из entware всегда необходимо создавать правила доступа, в противном случае доступ по умолчанию будет закрыт." Демон стартует с правами текущего пользователя (администратора uid=0) как другие сервисы, но openssh не разрешает такие действия с ошибкой "Privilege separation user sshd does not exist". Подскажите что делать, чтобы подключить openssh из Entware? Доброго дня, нашёл инструкцию по поднятию openssh из entware, https://forum.keenetic.net/topic/361-openssh-вместо-dropbear-настройка-и-использование/ В частности там указано, что необходимо создать юзера: Цитата openssh сервер может работать только от имени пользователя sshd. Создадим его командой adduser -h /tmp -s /bin/false -D -H sshd -h задаем домашнюю директорию, -s задает shell, -D говорит, что пароль задавать не нужно, -H - не нужно создавать домашнюю папку, sshd - это имя пользователя. Пользователь при этом будет удален при перезагрузке устройства, поэтому команду стоит помести в скрипт, который будет запускать openssh при запуске роутера, до запуска непосредственно самого openssh. Вставить ник Quote
fedotov_a_a Posted February 19, 2021 Author Posted February 19, 2021 [SNR-CPE@/]# service sshd start starting sshd... [SNR-CPE@/]# [SNR-CPE@/]# service sshd status PID of sshd is 11984 [SNR-CPE@/]# Всё отлично. Правда сервис будет актуален до первого обновления. После очередной обновы придётся ручками делать ссылку из /etc/rc.d и /etc/init.d на сервис /opt/etc/init.d/S40sshd, прописывать нового пользователя... Скрипт запуска инета располагается в файле /etc/rc.d/S70inetd, ну а пользователи появляются в скрипте /etc/rc.d/S06pass. Вот только после очередного обновления эти скрипты перезапишутся. Может как-то это можно исправить? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.