Files
Ubuntu_docs/HTTPTunnel.md

2.1 KiB
Raw Blame History

📌 Туннелирование SSH через HTTP


Исходники тут: https://github.com/larsbrinkhoff/httptunnel:

  sudo apt-get install httptunnel

Настроил HAProxy примерно так, чтобы проверялся параметр "mybiglogfile" для редиректа:

frontend frontend-http
bind *:80
mode http

    acl v_tunnel url_param(mybiglogfile) -m found
    use_backend httptunnel_backend if v_tunnel

    http-request redirect scheme https code 301 unless { ssl_fc } || v_tunnel

Проверить нет ли редирект можно так: curl -I http://192.168.200.81/index.html?mybiglogfile=all curl -I http://locust.kz/index.html?mybiglogfile=all

На сервере запустил прослушку на 9999 и перенаправление на 22:

  sudo hts -F 127.0.0.1:22 9999

Для остановки

  ps aux | grep hts
  sudo kill 1854

Можно запустить как сервис так sudo mcedit /etc/systemd/system/httptunnel.service:

[Unit]
Description=HTTP Tunnel Service
After=network.target

[Service]
ExecStart=hts -F 127.0.0.1:22 9999
Restart=always
User=root
RestartSec=10

[Install]
WantedBy=multi-user.target

Потом:

  sudo systemctl daemon-reload
  sudo systemctl enable httptunnel
  sudo systemctl stop httptunnel
  sudo systemctl start httptunnel
  sudo systemctl status httptunnel
  tail -f /var/log/syslog | grep --line-buffered "htc"

На клиенте запускаем локальный порт также указал 9999 а ключь

  htc -F 9999 --base-uri /index.html?mybiglogfile=all 192.168.200.81:80
  htc -F 9999 --base-uri /index.html?mybiglogfile=all dirt.kz:8080

Для остановки

  ps aux | grep htc
  Потом
  sudo kill 783

Пробую подключиться после настройки тунеля:

  ssh igor@127.0.0.1 -p 9999