Как сделать ssh туннель и вывести через него браузер.

Кластеры HDInsight предоставляют доступ к веб-ИНТЕРФЕЙСу Apache Ambari через Интернет. HDInsight clusters provide access to the Apache Ambari web UI over the Internet. Для некоторых функций требуется туннель SSH. Some features require an SSH tunnel. Например, веб-интерфейс Apache Oozie не может быть доступен через Интернет без туннеля SSH. For example, the Apache Oozie web UI can’t be accessed over the internet without an SSH tunnel.

КОММЕНТАРИИ

  1. BabaDook написал в10:53

    Добрый день. Можно сказать все варианты завязаны на ssh или nc. Можно сделать такое-же но имея веб шел на целивом сервере.?

    Войдите, чтобы ответить

    • antgorka написал в10:59

      Добрый день! Но если Вы смогли закинуть веб-шелл на удаленный хост, что Вам мешает закинуть туда серверный скрипт reGeorg или выполнить тот же netcat через веб-шелл?

      Войдите, чтобы ответить

      • BabaDook написал в11:20

        Я поторопился, не дочитал до конца статьи прошу прощения. Спасибо за статью, я нашёл ответ на твой вопрос. Продолжайте в том же духе. Спасибо

      • antgorka написал в11:24

        Удачи

Оставить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Переадресация портов Putty

Если вы подключаетесь к SSH серверу из Windows, то вероятно вы используете Putty.

Чтобы настроить переадресацию портов в Putty, зайдите в настройки программы.

Затем откройте раздел Connection > SSH > Tunnels

Вам нужно добавить Source port и Destination/

Переадресация портов Putty

Source port — это порт на вашем компьютере, на котором Putty будет принимать соединение.

Читайте также:  Complete Internet Repair – как восстановить сетевые настройки

Destination — это IP адрес и порт, по которому Putty перенаправит соединение.

В приведенном на изображении примере, когда Source port = 59002, а Destination = localhost:5902, Putty переадресует соединение с порта 59002 вашего компьютера на порт 5902 сервера, к которому он подключен.

Настройка putty

  1. Скачать и установить домашняя страница
  2. Создаем сессию: заполняем адрес хоста и порт:
  3. Можно сохранить сессию
  4. Открывает, в левом дереве, Connection->SSH->Tunnels
  5. В поле SourcePort вводим 8080 (можно ввести любой другой порт, главное потом указать такой же в настройках браузера)
  6. Выбираем Dynamic в секции Destination
  7. Нажимаем Add, видим, что в поле выше добавилось D8080
  8. Возвращаемся во вкладку Session и нажимаем Save, для сохранения результатов.

Настройка FireFox

  1. Заходим в настройки браузера, выбираем вкладку Дополнительные, в секции Соединение нажимаем Настроить.
  2. Выбираем Ручная настройка проксиУзел SOCKS, указываем 127.0.0.1 и порт 8080 (из 5го пункта настроек putty)
  3. Нажимаем OK – все, можно зайти на и проверить ip адрес

TCP forwarding chain через несколько узлов

В закрытых сетях часто бывает, что нужный нам узел напрямую недоступен. Т.е. мы можем зайти на нужный хост только по цепочке, например host1 → host2 → host3 → host4:host1# ssh host2host2# ssh host3host3# ssh host4host4# echo hello host4

Это может происходить например если эти узлы являются шлюзами, либо если на них доступны шлюзы только в соседние подсети.

В таком случае мы также можем делать TCP forwarding по цепочке:

Здесь порты 9991, 9992, 9993 выбраны для наглядности, на практике можно использовать один и тот же порт (например, 9999), если он свободен на всех узлах.

Итого нужно выполнить следующую цепочку команд:

TCP forwarding chain через несколько узлов

host1# ssh -L 9991:localhost:9992 host2host2# ssh -L 9992:localhost:9993 host3host3# ssh -L 9993:localhost:5432 host4

Читайте также:  Windows 10 отключение телеметрии утилита

Как это работаетПосле успешного выполнения перечисленных выше команд, на узлах выполняется следующее:

  • на «host1»: открывается порт 9991, при подключении к которому данные перенаправляются по ssh-соединению на порт 9992 на «host2»;
  • на «host2»: открывается порт 9992, при подключении к которому данные перенаправляются по ssh-соединению на порт 9993 на «host3»;
  • на «host3»: открывается порт 9993, при подключении к которому данные перенаправляются по ssh-соединению на порт 5432 на «host4»;

Таким образом, при соединении на порт 9991 на «host1», данные перенаправляются по цепочке на «host4» на порт 5432.

ВАЖНО! Все указанные на схемах стрелками соединения являются отдельными TCP-соединениями (сессиями).

Распространенные ошибки

Проблемы с аутентификацией

PuTTY выдает при подключении сообщение: «Access denied». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.

Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:

Permission denied (publickey). PuTTY Error output

Причины ошибки

Ошибка «Access denied» связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.

Как решить

  1. Проверить параметры аутентификации (логин и пароль).
  2. Проверить наличие и правильность имени SSH-ключа в PuTTY.
  3. Выполнить проверку содержимого кода SSH-ключа в «authorized_keys».

Если ни один из вариантов не дал положительного результата, то нужно воспользоваться альтернативным графическим клиентом WinSCP. С его помощью нужно реализовать описанную ниже последовательность действий.

  1.   Перейти в папку «/etc/ssh/», а затем открыть файл «sshd_config».
  2. Далее необходимо найти строки «PasswordAuthentication: YES» и «PermiRootLogin: NO». Значения переменных требуется поменять на противоположные значения, т. е. «PasswordAuthentication: NO» и «PermiRootLogin: YES».
  3. После сохранения изменений необходимо перезапустить PuTTY и соединиться с удаленным сервером.

Подробнее о том, как создать удаленное соединение для разных дистрибутивов Linux, можно узнать из отдельных руководств:

  • Для Ubuntu;
  • Для CentOS;
  • Для Debian.

Ошибка подключения

Если программа PuTTY выдает ошибку «Unable to open connection to Host does not exist»*, то это свидетельствует о том, что ссылка на SSH-хост не соответствует сетевому адресу. Домен приведён для примера.

При истекшем времени подключения или отказе в соединении PuTTY выдаст сообщения «Network error: Connection timed out» и «Network error: Connection refused» соответственно.

Причины ошибки

  • Отсутствие сетевого подключения. 
  • Неверно указан IP-адрес. 
  • Порт не поддерживается или его значение задано неверно. 
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

Чтобы исправить ошибку, рекомендуется действовать по приведенной ниже инструкции.

  1. Проверить IP-адрес хоста.
  2. Убедиться, что порт не блокируется какой-либо программой. При необходимости внести его в список исключений.
  3. Проверить конфигурацию PuTTY во вкладках «Session» и «Connection».
  4. В список исключений антивируса или брандмауэра необходимо внести стандартный порт 22.