У меня есть веб-демон (прослушивающий порт 80 и 443) и демон ssh (прослушивающий порт 22) на одной машине.
У меня есть клиент (генерирующий трафик HTTP, HTTPS, SSH), расположенный за прокси-сервером (порт 8080) и брандмауэром (открыты только порты 80 и 443).
Я решил использовать HTTP-туннель для трафика SSH через прокси-сервер и обратно. Проблема в том, что адресатом этого трафика является порт 22, который закрыт брандмауэром.
Я мог бы использовать HTTP-туннель с портом назначения 80 или 443, который подходит для брандмауэра, но не для целевого сервера.
Есть ли какое-либо решение, кроме двух серверов: 1 с веб-сервером, прослушивающим порты 80 и 443, и один с сервером ssh, прослушивающим порт 80 или 443?
Любой совет будет очень признателен.
Лоран
Я думаю, здесь уместно немного схемы. Вы говорите, что уже настроили SSH через HTTP-туннель через прокси-сервер. Предполагая, что вы запускаете что-то на удаленном сервере, чтобы обработать завершение этого SSH через HTTP-туннель, вы должны быть в бизнесе.
Похоже, у вас действительно нет SSH через HTTP-прокси, если вы все еще пытаетесь исходить подключения к удаленному серверу, порт назначения 22.
Даг Вирс (из репозитория RPM) написал HOWTO по туннелированию SSH через HTTP (S). Если на вашем удаленном сервере работает Apache, вы сможете выполнить эту конфигурацию на своем удаленном сервере.
Я говорю об этом:
(источник: wellbury.com)
Попробуйте использовать мультиплексирование с
sslh
Вам понадобится второй IP-адрес, чтобы демон SSH прослушивал порт 80 или 443. Правильный ответ, однако, - установить брандмауэр на стороне клиента, чтобы разрешить соответствующий трафик. Туннелировать все через HTTP (S) - это глупо, это превращает Интернет в двухпортовый город.