Создание SSH-туннелей с помощью PuTTY

В данной статье будет описано как строить SSH–туннели с помощью PuTTY.

1. Локальный проброс порта

Рассмотрим следующую ситуацию. Мы находимся внутри корпоративной сети, у нашего компьютера адрес 192.168.0.2, доступ во внешний мир полностью закрыт (то есть никакого NAT–а, proxy и т.п.). Влиять на политику ограничения доступа у нас возможности нет, но зато есть SSH–доступ на один из серверов с маршрутизируемым IP–адресом, который доступен из Интернета. Внутренний адрес этого сервера, пусть будет для примера 192.168.0.3. Структура сети изображена на рисунке:

Предположим, что нам очень нужно подключиться, к примеру, по SSH на некоторый удалённый сервер с IP–адресом 212.212.212.212 где–то далеко в Интернет. Для этого запускаем PuTTY, создаём SSH–подключение к серверу 192.168.0.3 (далее по тексту SSH–сессия 1), идём в пункт Tunnels:

и указываем, что локальный порт 2222 нашего компьютера должен быть поставлен в соответствие порту 22 на сервере с IP–адресом 212. 212.212.212. Далее жмём кнопку «Open», авторизуемся на сервере 192.168.0.3. Затем создаём ещё одно подключение (далее по тексту SSH–сессия 2), но уже на localhost, порт 2222 и жмём кнопку «Open»:

В результате SSH–сессия 2 будет туннелироваться (т.е. будет установлена внутри ранее установленной SSH–сессии 1). Для удалённого сервера 212.212.212.212 всё будет выглядеть так, как будто к нему подключается 111.111.111.111:

2. Удалённый проброс порта

В этом случае подключение внутри SSH–туннеля устанавливается в другую сторону — от удалённого сервера на наш локальный компьютер. Может быть полезно, если требуется открыть доступ к локальным сервисам нашего компьютера. Рассмотрим ту же сеть, что и в пункте 1, но для простоты предположим, что теперь у нас есть NAT:

Здесь уже у нас есть возможность подключаться через SSH напрямую к 212.212.212.212 благодаря наличию NAT–а. А вот 212.212.212.212 подключиться на 192.168.0.2 без специальных ухищрений, понятное дело, не сможет, т. к. 192.168.0.2 не подключён к Интернет непосредственно. Предположим, что пользователю, сидящему под X–ами на 212.212.212.212 нужно через remote desktop попасть на наш компьютер 192.168.0.2. Для этого в SSH–сеансе подключения с 192.168.0.2 на 212.212.212.212 нужно изменить настройки в разделе Tunnels следующим образом:

В результате после успешной авторизации на 212.212.212.212 можно увидеть следующее:

#lsof -i -nP | grep 3333
sshd  18598   avz   11u  IPv4 592868957   TCP 127.0.0.1:3333 (LISTEN)

То есть sshd ожидает подключений на TCP–порт 3333, которые затем по SSH–туннелю будут перенаправлены на 192.168.0.2 порт 3389. И юзер сидящий за 212.212.212.212 сможет с помощью rdesktop увидеть наш рабочий стол:

3. Socks–proxy

В этом случае мы можем использовать сервер с SSH–демоном как промежуточный (proxy). Схема сети как в случае #1 (без NAT и штатных прокси):

Чтобы заставить PuTTY исполнять роль socks–прокси, нужно параметры SSH–сессии с 192.168. 0.2 на 192.168.0.3 изменить следующим образом:

В результате после успешной авторизации со стороны клиента можно будет наблюдать следующее:

C:\>netstat -ano | find "1080"
  TCP    127.0.0.1:1080     0.0.0.0:0      LISTENING       2392
C:\>tasklist | find /i "2392"
putty.exe                2392 Console        0             5420 КБ

То есть putty, выполняющийся с PID–ом 2392, начинает слушать порт 1080, ожидая подключений. Далее бёрем любое приложение, умеющее работать с SOCKS–прокси, например Firefox, и указываем ему использовать наш прокси:

Теперь все запросы от браузера будут проходить через сервер 192.168.0.3. В логах веб–сайтов, по которым мы таким образом будем ходить, будет отображаться внешний IP–адрес нашего сервера — 111.111.111.111.

P.S. Из help–файла Putty 0.58:

Question A.10.3: What does «PuTTY» mean?

It’s the name of a popular SSH and Telnet client. Any other meaning is in the eye of the beholder. It’s been rumoured that «PuTTY» is the antonym of «getty», or that it’s the stuff that makes your Windows useful… 🙂

avz. org.ua

Putty — SOCKS5 прокси через SSH-туннель

  • 10 июля 2019

Однажды один из IP адресов на работе попал в SORBS SPAM. IP адрес можно выкинуть из спам листа, если зайти на сайт sorbs.net именно с этого IP адреса. Но у меня на компе другой внешний IP адрес, а на почтовике с нужным IP стоит linux и нет возможности запустить браузер.

Сделаем с помощью putty SSH туннель. 

Запускаем putty, указываем адрес SSH-хоста, через который будем строить туннель.

В Connection > SSH > Tunnels указываем Source port. Я пишу традиционный 3128. Ставим галку Dynamic.

Нажимаем Add.

В окошке отобразится «D3128».

Нажимаем Open и коннектимся к хосту.

По идее у меня на компе с ОС Windows должен открыться порт 3128. Запускаем командную строку и выполняем:

netstat -tan |  find "3128"

Да, есть TCP 3128 на всех локальных IP адресах (0. 0.0.0), который можно использовать как прокси.

Запускаем браузер, например, Firefox. Заходим в настройки, General > Network Settings > Settings.

Configure Proxy Access to the Internet.

  • Указываем Manual proxy configuration
    • SOCKS Host: 127.0.0.1
    • Port: 3128
    • SOCKS v5

OK.

Теперь наш браузер ходит в Интернет под IP адресом выбранного хоста через SSH-туннель.

Теги

  • Linux
  • Windows
  • special

💰 Поддержать проект

Похожие материалы

Олег
  • 17 марта 2019
  • Подробнее о Winpower — ПО для ИБП Ippon

ПО Winpower на компакт-диске идёт в комплекте с источниками бесперебойного напряжения Ippon. С помощью Winpower можно воспользоваться дополнительными функциями по управлению UPS. Для установки потребуется серийный номер, он напечатан на компакт-диске и есть внутри дистрибутива в текстовом файле.

Теги

  • Ippon
  • review
  • special
  • Windows
  • Linux
  • soft
Олег
  • 11 апреля 2019
  • Подробнее о Windows 10 — генерация ключей RSA с помощью подсистемы Linux

Воспользуемся подсистемой Linux и сгенерируем RSA ключи в ОС Windows 10.

Теги

  • Windows
  • Linux
  • special
Олег
  • 11 апреля 2019
  • Подробнее о Windows 10 — генерация DKIM ключей с помощью подсистемы Linux

Воспользуемся подсистемой Linux и сгенерируем DKIM ключи в ОС Windows 10. DomainKeys Identified Mail (DKIM) — метод e-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Метод дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена.

Теги

  • Windows
  • Linux
  • mail
  • special

Чтиво на ночь

Как настроить SSH-туннель с помощью PuTTY — TecAdmin

PuTTy — это удобный SSH-клиент для системы Windows. Большинство пользователей системы Linux знают и используют для подключения удаленную систему с запущенным SSH-сервером.

Также предоставляется возможность создать туннель SSH для предоставления доступа к ресурсу в доверенной внутренней сети. С помощью туннеля SSH вы можете получить доступ к ресурсам, доступным на других портах, которые не доступны напрямую из вашей системы. После того, как вы перенаправили свой порт localhost на порт, прослушиваемый в удаленной сети, вы можете напрямую получить доступ к удаленной службе, обратившись к настроенному порту с помощью localhost.

Туннель обеспечивает переадресацию портов с обеих сторон. Первый вариант показывает вам возможность перенаправить ваш локальный порт в удаленную сеть для доступа к ее ресурсам. Вы также можете отменить процесс и получить доступ к ресурсам вашей локальной системы с удаленного компьютера.

Переадресация локального порта с помощью PuTTY

Вы можете настроить локальное туннелирование SSH, выполнив следующие действия:

  1. Запустите приложение PuTTY на рабочем столе. В окнах сеанса введите имя хоста или IP-адрес и номер порта целевого SSH-сервера. Убедитесь, что тип подключения установлен на SSH.

    Добавьте имя хоста SSH-сервера, к которому вы хотите получить удаленный доступ.

  2. В левой боковой панели под параметрами Категория . Перейдите к Connection
    >> SSH >> Tunnels .

  3. Выберите Локальный , чтобы определить тип переадресации порта SSH.
  4. В поле Исходный порт введите номер порта, который будет использоваться в вашей локальной системе. (Например, исходный порт: 5050)
  5. Далее, в поле Destination введите адрес назначения, за которым следует номер порта. (Например, пункт назначения: 127.0.0.1:5432).
  6. Проверьте добавленные данные и нажмите кнопку Добавить . Здесь вы можете добавить несколько записей.
  7. Готово. Подключите сеанс SSH, чтобы сделать туннель. Туннель будет работать до тех пор, пока не активен сеанс SSH

Переадресация удаленного порта с помощью PuTTY

Удаленная переадресация позволяет удаленной системе получать доступ к ресурсам с вашего локального компьютера. Удаленная переадресация представляет собой инверсию процесса локальной переадресации, как описано выше.

  1. Запустите приложение PuTTY на рабочем столе. В окнах сеанса введите имя хоста или IP-адрес и номер порта целевого SSH-сервера. Убедитесь, что тип подключения установлен на SSH.

    Добавьте имя хоста SSH-сервера, к которому вы хотите получить удаленный доступ.

  2. В левой боковой панели под параметрами Категория . Перейдите к Connection >> SSH >> Tunnels .

  3. Выберите Remote , чтобы определить тип переадресации порта SSH.
  4. В поле Исходный порт введите номер порта, который будет использоваться в вашей локальной системе. (Например, исходный порт: 8080)
  5. Далее, в поле Destination введите адрес назначения, за которым следует номер порта. (Например, пункт назначения: 192.168.0.101:65001).
  6. Проверьте добавленные данные и нажмите кнопку Добавить . Здесь вы можете добавить несколько записей.
  7. Все готово. Подключите сеанс SSH, чтобы сделать туннель. Туннель будет работать до тех пор, пока не будет активен сеанс SSH

Заключение

Это руководство помогло вам настроить локальный и удаленный туннель SSH через приложение Putty на сервере Windows. Что позволяет вашим службам доступа, работающим в удаленной системе или сети, через сеть SSH, где у вас нет прямого доступа через порт.

linux безопасность портов SSH-туннель

Доля. Фейсбук Твиттер Пинтерест LinkedIn Тамблер Эл. адрес WhatsApp

Предыдущая статьяПроблема с phpMyAdmin и PHP: Предупреждение в ./libraries/sql.lib.php#613 count(): Параметр должен быть массивом или объектом, который реализует Countable»

Следующая статья Как установить PHP 8 на Ubuntu 20.04

Как настроить SSH-туннель в PuTTY

Большинство из вас, вероятно, использовали туннель с SSH-соединением. Вы, вероятно, не знали, что вы можете использовать динамический туннель для доступа ко всей удаленной инфраструктуре. Кроме того, вы можете указать порт и IP-адрес назначения для прямого доступа. Этот процесс достигается за счет вашей конфигурации PuTTY.

В этой процедуре мы будем использовать Internet Explorer, Firefox и соединение RDP , чтобы продемонстрировать использование туннеля с соединением SSH, а также настроить туннель с несколькими другими типами протоколов.

Переадресация локального порта

Шаг 1. Загрузка сеанса

В конфигурации PuTTY настройте Имя хоста и Порт вашего удаленного компьютера SSH. Введите имя сохраненных сеансов и нажмите 9.0020 Сохранить. Если ваш сеанс уже существует, **Загрузите ** его, как показано ниже:

Шаг 2 — Настройте PuTTY для RDP В разделе Tunnels в PuTTY настройте определенный** локальный** порт, например 50001 , который будет перенаправлять на 3389 вашего целевого сервера.

В поле Source Port введите , локальный порт, который будет перенаправлен.

В поле Destination , введите IP-адрес, а также порт назначения.

Выберите Локальный и Авто , чтобы активировать IPv4 и IPv6.

Вот пример с моей локальной машины. Я хотел бы перейти на 172.128.123.10, порт сервера 3389.

Обратите внимание, что вы можете настроить свои порты для нескольких серверов одновременно. Настройка определенного** локального** порта, например **50002**, приведет к перенаправлению на 80 целевого сервера. Это позволит вам настроить PuTTY для вашего веб-браузера.

После завершения настройки конфигурации откройте RDP-соединение и введите свой локальный IP-адрес ( 127.0.0.1 ) вместе с конфигурацией локального порта в PuTTY.

Как показано выше, если я введу 127.0.0.1:50001 , мое соединение будет переведено на сервер 172.128.123. 10 :3389.

Если я введу 127.0.0.1:50003, , мое соединение будет переведено на сервер 172.128.123. 11 :3389. Шаг 3. Настройка туннеля SSH В меню Категория перейдите к Соединение —> SSH —> Туннели . Существует несколько способов настройки туннеля. Мы приступим к настройке туннеля браузера.

Расширенный сценарий (динамическая переадресация портов)

Шаг 4. Настройте PuTTY для туннеля веб-браузера. На странице Tunnels настройте порт Dynamic в диапазоне 49152-65535. Для получения дополнительной информации см. https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 49152–65535.

Шаг 5. Настройка программного обеспечения Дополнительную информацию для Internet Explorer, Chrome или Edge можно увидеть на шаге 5.1. Для Firefox обратитесь к шагу 5.2, а для использования RDP обратитесь к шагу 2. Шаг 5.1. Настройка Internet Explorer для прохождения через туннель SSH Как отмечалось ранее, настройка туннеля через Internet Explorer повлияет на Google Chrome и Microsoft Edge.

Щелкните Свойства обозревателя , пройдя через **Панель управления в браузере Internet Explorer**.

На следующем рисунке показана панель управления Home .

Выберите вкладку Connections и нажмите Настройки LAN .

Установите флажок **Использовать прокси-сервер для вашей локальной сети ** и нажмите Дополнительно .

Введите 127.0.0.1 IP-адреса хоста в поле Socks , с настроенным портом из 4567, и нажмите OK .

Вы должны увидеть серую строку **Адрес **. Если IP-адрес вашего удаленного сегмента отличается от IP-адреса внутреннего сегмента, установите флажок **Обход прокси-сервера для локальных адресов**.

После завершения вы сможете получить доступ к Internet Explorer, Edge или Chrome для перехода на сервер IIS, введя IP-адрес в навигаторе. В этом примере вы можете открыть вкладку браузера и посетить http://172.128.123.10. Это позволит вам просматривать сервис с целевого сервера.