Jump to content

Проброс портов через SSH-туннель в домашнюю локальную сеть


Recommended Posts

Posted

Доброго времени суток.

До недавно купленного роутера 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?

 

 

 

 

 

Posted (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 by fedotov_a_a
Posted (edited)

openssh не понадобился. Всё оказалось проще и легче. Изменил параметры запуска dropbear в файле S70inetd (убрал параметр -j) и всё наладилось (сохранил прошивку fs save && reboot). 

Правда не знаю насколько это стало безопасно.. Пересмотрел все скрипты запуска прошивки.. Много интересного увидел и понял как и с чего начинает работать роутер.

Роутер понравился.Железо не греется. Не жалею что купил. 

Edited by fedotov_a_a
Posted (edited)

И всё же...

По словам предыдущих разработчиков, (ссылка), для подключения к локальным сервисам марщрутизатора служит раздел "Подключение к локальным сервисам", который "... призван управлять разрешениями доступа для сервисов, установленных из Entware, т.к по умолчанию все они имеют политику drop без каких-либо разрешающих правил и исключений. Следовательно, для сервисов из entware всегда необходимо создавать правила доступа, в противном случае доступ по умолчанию будет закрыт."

Демон стартует с правами текущего пользователя (администратора uid=0) как другие сервисы, но openssh не разрешает такие действия с ошибкой "Privilege separation user sshd does not exist".

 

Подскажите что делать, чтобы подключить openssh из Entware?

Edited by fedotov_a_a
Posted
В 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. 

Posted
[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.

Вот только после очередного обновления эти скрипты перезапишутся. Может как-то это можно исправить?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.