Перейти к содержимому
Калькуляторы

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

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

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

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Купите Микротик, и забудьте зоопарк

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Установил 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 ? Что можно сделать?

 

 

 

 

 

Изменено пользователем fedotov_a_a

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Изменено пользователем fedotov_a_a

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И всё же...

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

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

 

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

Изменено пользователем fedotov_a_a

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 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. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.