LINUX.ORG.RU
решено ФорумAdmin

ssh и http на одном порте

 , , , ,


0

1

В lxc проброшен один tcp порт (занят в данный момент под ssh) и 5 udp.
Нужно поднять http сервер.
Нагуглил sshttpd, но он не работает в непривелегированном контейнере, хочет всякие chroot, sertlimit, а если выпилить - то виснет при первом входящем подключении.
Может есть ещё какие-то подобные решения? патч для ssh какой-нибудь например?
Или реализация ssh на udp? Я пока нашёл чью-то курсовую 2010 года и патчить openssh по древней pdf'ке - дело безблагодатное.

★★★★★

Ответ на: комментарий от anonymous

лис распознаёт порт как https и я даже файл оттуда не могу скачать. хотя в схеме как для дебилов указано http. wget работает нормально.

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

проблема с реальным адресом в sslh решается роутингом:

/bin/ip route add local 0.0.0.0/0 dev lo table 100
/bin/ip rule add fwmark 0x1 lookup 100

iptables -t mangle -N SSLH
iptables -t mangle -A SSLH -j MARK --set-xmark 0x1/0xffffffff
iptables -t mangle -A SSLH -j ACCEPT

если трифик https из контейрера с ip 192.168.1.2:

iptables -t mangle -A PREROUTING -s 192.168.1.2/32 -p tcp -m tcp --sport 443 -j SSLH

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

да не проблема это, у меня там статический контент отдаётся

mittorn ★★★★★ ()

Оказывается даже xinetd поддерживает TCPMUX

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

Это самое простое, как и многое другое. А вот решение в рамках задачи ТС, гораздо интереснее. Правда чисто в академическом масштабе.

anc ★★★★★ ()

Ладно, sslh работает стабильно, под httpd заюзал busybox подправленный НЁХ-редактором.
Только вот на этом же домене когда-то был hsts и теперь не понятно как его сбросить

mittorn ★★★★★ ()

Можно навелосипедить свой заменитель ssh из netcat, баша, синей изолетны, балок и кала, работающий через UDP.
Конечно будет решето, но на сколько я понимаю это какая-то домашняя поделка которую едва-ли кто-то будет прицельно ломать, ну а боты обломаются увидев нечто нестандартное.

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

tcpdump же
Слишком просто.
А вообще есть pdf про ssh по udp, легко гуглится и там написано как его сделать. Но это морока.

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

Только сначала надо этот поток перехватить. Ну и шифрование можно привелосипедить какое-то. Конечно так делать нельзя, за-то интересно (:
Можно упороться и попробовать как-то загнать ssh-ный tcp поток в udp тоннель, но как это сделать на коленке без доступа к ядру я не представляю.

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

Чего тут непростого? CGI скрипт который принемает комманду (POST из формы), выполняет её и возвращает результат. Сложно только сделать это удобным.

MrClon ★★★★★ ()

В lxc проброшен один tcp порт (занят в данный момент под ssh) и 5 udp.

На одном из udp-портов поднять OpenVPN и использовать его для подключения по SSH. На tcp-порту запустить web-сервер.

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

все хотят порты свои

Это ещё зачем?

к тому же нужно клиентское шифрование

Ну https прикрути если так хочется.

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

Тут уже проскакивал вариант с haproxy, может в его сторону поглядеть?

Haproxy слушает tcp-порт, устанавливает ssl-соединение, а дальше разруливает трафик на http и на telnetd, с ним, быть может, проще будет, чем с ssh.

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