- Вопрос или проблема
- Ответ или решение
- Пошаговая инструкция по использованию plink.exe для удаленного и динамического проксирования портов
- Введение
- Шаг 1: Установка SSH-соединения с использованием plink.exe
- Шаг 2: Динамическое перенаправление на Linux машине (B)
- Шаг 3: Проверка и устранение ошибок
- Шаг 4: Устранение проблем с брандмауэром и политиками безопасности
- Шаг 5: Конфигурация прокси
- Заключение
Вопрос или проблема
Я пытаюсь уже два дня сделать следующее:
У меня есть машина Windows, давайте назовем ее A, и машина Linux, которую назовем B.
Между A и B есть фаервол. Я хочу подключиться удаленно с машины Windows A к моей машине Linux (удаленная переадресация порта на B), и когда это будет сделано, я хочу динамически переадресовывать соединения с машины Linux B на машину Windows A.
Я делал следующее на машине Windows A:
plink.exe -v -ssh -C -T -N -R 3310:127.0.0.1:22 root@LinuxMachine -pw MyPassword
А на машине Linux B:
ssh -v -N -D 127.0.0.1:8080 -p 3310 [email protected]
Цель состоит в том, чтобы перенаправить весь мой трафик через эту машину Windows, включая мой браузер (используя параметры прокси socks4). Я также изменил свой файл конфигурации proxychain, чтобы он указывал на 127.0.0.1 и порт 3310.
Когда я проверяю команду на B, я получаю следующее на машине Windows A:
Удаленная переадресация порта с 3310 включена
Попытка переадресовать удаленный порт на 127.0.0.1:22
Переадресованный порт открыт успешно
Переадресованный порт закрыт из-за локальной ошибки
А на машине Linux B я получаю следующее:
ssh_exchange_identification: Соединение закрыто удаленным хостом
Я устранял неполадки, но, похоже, мне не хватает знаний о том, как выполнить переадресацию удаленного порта в сочетании с динамической переадресацией порта. Моя основная идея по проблеме заключается в том, что, похоже, пакеты не идут с Linux B на Windows A.
Я немного изменял команду plink.exe на Windows A, но без успеха.
Спасибо за вашу помощь!
Когда вы входите, используя 22 или конкретный порт, который вы установили, но при передаче чего-то возвращаются разные порты для передачи, и диапазон этого порта пересылки слишком велик, поэтому вам нужно что-то вроде VPN.
Ответ или решение
Пошаговая инструкция по использованию plink.exe для удаленного и динамического проксирования портов
Введение
Проблема, с которой вы столкнулись, связана с настройкой удаленного и динамического проксирования через SSH-соединение между Windows машиной (A) и Linux машиной (B). Давайте подробно разберем, как правильно выполнить эти настройки и устранить возникшие ошибки.
Шаг 1: Установка SSH-соединения с использованием plink.exe
Ваше первое действие заключается в установке SSH-соединения с удалённой Linux машиной из Windows машины. Для этого вы используете команду:
plink.exe -v -ssh -C -T -N -R 3310:127.0.0.1:22 root@LinuxMachine -pw MyPassword
Объяснение параметров:
-v
: уровень подробного вывода для отладки.-ssh
: использование SSH-протокола.-C
: включить сжатие данных.-T
: отключить терминал (не требуется интерактивная сессия).-N
: не выполнять команду на удаленной машине.-R 3310:127.0.0.1:22
: настраивает удаленное прослушивание на порту 3310 на машине B и перенаправляет его на порт 22 (SSH) на Windows A.root@LinuxMachine
: адрес вашей Linux машины.-pw MyPassword
: указание пароля для аутентификации.
Шаг 2: Динамическое перенаправление на Linux машине (B)
Для динамического перенаправления, вы используете следующую команду на машине B:
ssh -v -N -D 127.0.0.1:8080 -p 3310 user@127.0.0.1
Объяснение параметров:
-D 127.0.0.1:8080
: включает SOCKS-прокси на порту 8080.-p 3310
: подключение к порт 3310, который был переадресован с Windows машины.
Шаг 3: Проверка и устранение ошибок
Из ваших логов видно, что вы получаете следующие ошибки:
- Remote port forwarding from 3310 enabled: Это означает, что проброс порта успешен, но…
- FOrwarded port closed due to local error: Это может указывать на проблемы с локальной настройкой или портом, который не доступен. Убедитесь, что локальный порт 22 (SSH) на Windows машине открыт и доступен.
- ssh_exchange_identification: Connection closed by remote host: Это связано с тем, что удаленный хост (Windows A) отказал в подключении. Это может быть вызвано настройками брандмауэра или политиками безопасности.
Шаг 4: Устранение проблем с брандмауэром и политиками безопасности
- Изучите настройки брандмауэра на Windows машине A, чтобы убедиться, что порты 22 и 3310 открыты для входящих соединений.
- Убедитесь, что SSH-сервер запущен без ошибок на Windows A.
- Проверьте лог SSH-сервера на наличие ошибок или предупреждений, которые могут помочь идентифицировать проблемы.
Шаг 5: Конфигурация прокси
После успешной настройки, вы можете перенастроить ваш прокси на браузере или в прокси-менеджере, чтобы использовать SOCKS-прокси, созданный на порт 8080. Убедитесь, что вы используете тип прокси SOCKS4 или SOCKS5, в зависимости от ваших потребностей.
Заключение
Следуя этим шагам, вы сможете установить надежное и безопасное соединение для динамического и удаленного проксирования между вашей Windows и Linux машинами. Убедитесь, что все настройки сетевой безопасности правильно сконфигурированы, чтобы избежать проблем с соединением. Если у вас возникнут дополнительные вопросы, не стесняйтесь обратиться за помощью.