Можно ли туннелировать SSH через HTTPS с помощью thttpd?

Мне нужно туннелировать мой SSH-сервер через порт HTTPS с помощью thttpd (я могу изменить на lighttpd, если необходимо, но я стараюсь избегать установки Apache, так как это недостаточно мощный блок). Я не смог найти ничего, что подтверждает или опровергает эту способность thttpd.

5 ответов

Если у него есть порт прослушивания TCP/IP, вы можете настроить для него SSH-туннель. Возможно, вы захотите сначала проверить, используется ли порт в вашей клиентской системе. Вы можете сделать это с помощью команды netstat. В Windows вы можете запустить

# netstat -ano

в Linux

# netstat -anut |grep LISTEN

Туннелирование SSH может быть немного сложным, чтобы получить вашу голову вокруг. Со всеми графиками и примерами онлайн даже я запутался и ежедневно пользуюсь туннелями. Я считаю, что лучше всего подумать так: ваш SSH-клиент открывает соединение с сервером и перенаправляет порты из этой сети в вашу * клиентскую систему, создавая прослушивающий порт для каждого перенаправления в вашей * клиентской системе.

- * - Клиентская система - это система, которую вы используете SSH-клиентом, которая также может называться вашей локальной системой.

Похоже, вы хотели бы пример туннеля HTTPS порт 443!

Из клиентской системы Windows

В этом примере будет использоваться клиент "Putty" для Windows, который можно найти на сайте загрузки Putty здесь. Предположим, что вы используете HTTPS через порт 443 в той же системе, где работает SSH-сервер. Мы будем использовать локальный IP-адрес 127.0.0.1 (127.0.0.1 всегда будет возвращать систему, в которой вы вошли)

В окне "Замазка" перейдите в левое меню "Категория". Разверните меню "Соединение" > "SSH" > "Туннели". В текстовом поле "Порт источника" введите 443, в текстовом поле "Пункт назначения" введите 127.0.0.1:443 и нажмите кнопку Добавить. В текстовой области "Переадресованные порты" теперь будет отображаться "L443 127.0.0.1:443"

http://www.hilands.com/img/extern/tunnel_https_localhost.jpg

Из терминала Linux

Это должно работать, я не проверял это хотя....

# ssh -L 443:127.0.0.1:443 <sshuser>@<sshserver ip>

Но мой SSH-сервер находится на другом Сервере, чем мой HTTPS-сервер!

Это легко заменить 127.0.0.1 в приведенных выше примерах на IP-адрес, который ваш SSH-сервер использует для подключения к HTTPS-серверу!

Попался

После настройки туннеля ssh вы можете открыть браузер на своем клиентском компьютере. Вместо того, чтобы переходить на обычный порт IP-адреса 443, вы будете использовать 127.0.0.1 в вашем локальном браузере.

https://127.0.0.1

Это может нарушить ваш сертификат SSL. В Firefox вы получите следующее сообщение об ошибке:

http://www.hilands.com/img/extern/ssl_error.jpg Продолжайте выполнять запросы и разрешите свой сертификат.

Если вам просто нужно получить терминал к вашей коробке, попробуйте Ajaxterm

Хотя Putty будет работать нормально, я бы порекомендовал другой вариант: вы можете создать хороший туннель (на порту 443, очевидно, и не технически https, но, возможно, достаточно хорошо), используя WinSSHD и Tunnelier в качестве клиента.

Я не знаю, что такое вообще. Я едва знаю lighttpd либо.

Но если они могут обслуживать HTTPS, вы можете использовать такой инструмент, как SSL Explorer. Это может сделать намного больше, чем дать вам доступ SSH к вашей сети.

В противном случае эти инструменты могут помочь вам:

  • Stunnel
  • штопор
  • proxytunnel

Некоторые даже работают с классическим HTTP (нет необходимости в SSL/TLS).

Ты это пробовал? Если нет, то почему? Зачем задавать вопрос здесь, если что-то работает, когда вы даже не пробовали это? Пока вы говорите только об использовании порта 443 для обхода некоторых межсетевых экранов, а не об истинном туннелировании по HTTPS, тогда он должен работать нормально (это не совсем понятно из вашего вопроса, вы упомянули оба).

Другие вопросы по тегам