LINUX.ORG.RU
ФорумAdmin

Apache настройка исходящего порта ssh для оправления инструкций на локальное оборудование

 , , ,


0

1

Всем привет. Помогите пожалуйста советом. Как настроить Apache, чтобы устанавливать исходящее соединение ssh с локальным оборудованием - маршрутизатором. Машина с сервером подключена к этому же маршрутизатору. При попытке установить соединение - ошибка. Понимаю что ошибка связана с фаерволом, но не могу понять как его настроить. Добавляю в цепочку OUTPUT правило разрешающее порт 22, для интерфейса wlp2(комп c апачем подключен по wifi) проблема не решается. Что еще нужно? Используется ОС fedora 31

Как настроить Apache, чтобы устанавливать исходящее соединение ssh с локальным оборудованием
Apache
исходящее соединение
ssh

Какой-то изврат. Это не шутка?

deep-purple ★★★★★ ()
Ответ на: комментарий от denisovvsh

Если апач то https же в руки и не нужен ssh,если ssh то любой скриптоязык в руки и не нужен апач. Ну или пусть апач пускает cgi скрипт который по ssh будет идти куда надо. Но апач тут просто как пускалка

LINUX-ORG-RU ★★★★★ ()
Ответ на: комментарий от deep-purple

При всем моем уважении. Спасибо конечно, что вы пытаетесь научить меня php) Но я в курсе как устанавливать соединение и отправлять инструкции, в моей программе нет ошибок, т.к. на хостинге, при обращении к выделенному ip все работает. И вопроса, собственно о рнр небыло. Вопрос был о фаерволле и апаче. О том как настроить чтобы, при обращении, от сервера к локальному маршрутизатору, соединение устанавливалось корректно. Т.к. хочется настроить тестовую среду на локальной машине и работать с локальной сетью. Не обязательно ssh. Если - например устанавливать соединение функцией fsockopen($ip, $port, $errno, $errstr, 3); то в ответе: $errno = 13, а $errstr = Permission denied

denisovvsh ()
Ответ на: комментарий от denisovvsh

Вопрос был о фаерволле и апаче

Выполни код и посмотри на ошибки которые тебе покажут!

как настроить

Сначала узнай ЧТО настроить. Ты пишешь про невозможность соединиться в пхп. Ну так и получил в ответ как посмотреть что не так именно из пхп. И не забудь поставить максимальный уровень ошибок! Более того — эту же тестовую команду (и не одну, а ping, scp, nslookup, wget/curl) надо бы выполнить и не от www-data через апач и пых, но и из терминала, чтобы убедиться что она блочится для всех/не всех пользаков и/или групп и/или все/не все протоколы-порты.

хочется настроить тестовую среду на локальной машине

Нет, ты тут в трёх соснах заблудился и умника включил.

deep-purple ★★★★★ ()
Последнее исправление: deep-purple (всего исправлений: 1)

Яннп. Ты можешь человеческим языком описать что ты хочешь сделать? Я с трудом расчехлил, что ты на локалхосте развернул апач и из пыхскрипта коннектишься к маршрутизатору?

Anoxemian ★★★★★ ()
Ответ на: комментарий от Anoxemian

Хочу управлять железякой по ssh при помощи php.

Есть компьютер под Linux Fedora 31 с установленным Apache+PHP+MySql, а так же есть железяка Mikrotik RB2011.

Компьютер подключен к микротику по wifi, на микротике соединения разрешены.

Выполняю скрипт $ip = ‘192.168.88.1’; // ip по умолчанию $port = ‘22’; $login = ‘admin’; $pass = ‘password’; fsockopen($ip, $port, $errno, $errstr, 3); echo($errno); // == 13 - закрыто исходящее соединение echo($errstr); // == Permission denied - в правах отказано

Т.е. исходя из ошибки, понятно что соединение не устанавливается

$connection = ssh2_connect($ip, $port); var_dump($connection); // == false

Вопрос - как разрешить исходящее соединение, на локальном сервере? Может быть нужно какие то настройки для апача сделать? Или перенаправить как то запрос - т.к. в фаерволле уже добавил правила разрешающие, для цепочки OUTPUT?

denisovvsh ()
Ответ на: комментарий от denisovvsh

фаервол тут вообще никаким боком, что ты до него доеколебался

sudo -u www-data php ./megascript.php

что выдает в терминале? если отрабатывает без лшибок, то выполи эту команду и кодь дальше с богом

setsebool -P httpd_can_network_connect=1

Anoxemian ★★★★★ ()
Последнее исправление: Anoxemian (всего исправлений: 2)
Ответ на: комментарий от Anoxemian

При выполнении функции fsockopen($ip, $port, $errno, $errstr, 3); выдает resource(4) of type (stream)

а при выполнении $connection = ssh2_connect($ip, $port); выдает PHP Fatal error: Uncaught Error: Call to undefined function ssh2_connect()

denisovvsh ()
Ответ на: комментарий от Anoxemian

Спасибо тебе добрый человек!

переключил setsebool -P httpd_can_network_connect=1

все заработало

denisovvsh ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.