1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bolingit-my_secret_path

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Мой секретный путь

Что я могу сделать

Я хочу получить доступ к определённому сервису на сервере, но не хочу, чтобы мой открытый порт был просканирован или чтобы пришлось открывать брандмауэр.
Достаточно иметь сервер с открытым одним портом (ssh), чтобы иметь возможность доступа ко всем портам так же, как в локальной среде, или к другим внутренним серверам.

Введение

SSH-портфорвардинг, основанный на реализации jsch, использует SSH-канал для проксирования удалённого сервера на локальный порт, обеспечивая внутреннее проникновение и другие функции, такие как шифрование связи. Весь проект очень прост! Он состоит всего из двух классов и менее 200 строк кода. Для работы в фоновом режиме можно использовать screen.

Архитектура программного обеспечения

Зависимости: jdk8 maven spring-shell-starter lombok jsch

Инструкция по установке

Обратите внимание, что вам нужно настроить файл .ssh/config, который вы можете найти в поисковых системах. Основные настройки, которые необходимо выполнить: замените самостоятельно

Host mysql
    hostname 127.0.0.1
    user admin
    port 22
    identityfile ~/.ssh/id_rsa
#Перейдите в домашний каталог, создайте скрытую папку и добавьте переменную среды
$ cd $HOME;mkdir .bin;echo 'export PATH=$PATH:$HOME/.bin' >> $HOME/.bashrc
#Скачайте исходный код
$ git clone https://gitee.com/bolingit/my_secret_path
#Перейдите в каталог исходного кода и скомпилируйте
$ cd my_secret_path
$ mvn clean package -Dmaven.test.skip=true
#Скопируйте скомпилированный jar-файл в $HOME/.bin и предоставьте права на выполнение
$ cp target/port-forward.jar $HOME/.bin;cd $HOME/.bin;chmod +x port-forward.jar
#Запустите программу
$ port-forward.jar

Во время выполнения: WAI

Использование

На основе spring-shell

#Просмотр доступных команд
shell:> help
#Просмотр конфигурации сервисов в ~/.ssh/config
shell:> list
#Или через read-config: чтение указанного ssh config: по умолчанию считывается ~/.ssh/config
shell:> read-config '~/.ssh/config'
#Мониторинг локального порта 13306 с использованием SSH-канала для подключения к настроенному серверу mysql в config и переадресация данных на порт 3306 локального mysql
shell:> open mysql
#Канал SSH открыт
shell:> forward mysql 13306 localhost 3306
#Успешный вывод означает, что запуск прошёл успешно
#Слушаю локальный порт[13306], данные через[mysql] пересылаются в[localhost:3306]

#После открытия канала SSH можно напрямую использовать клиент mysql для доступа к порту 13306 на этом компьютере, который напрямую связан с удаленным сервером mysql. (Не требуется открывать порт 3306 для брандмауэра, только SSH должен быть доступен и SSH-форвардинг включён [по умолчанию включён])

Некоторые интересные операции

В сочетании с screen для запуска в фоновом режиме
screen port-forward.jar
Используйте Ctrl+a+d, чтобы выйти из окна screen, и используйте screen -r в среде bash, чтобы вернуться в интерфейс port-forward
Реализуйте A, чтобы напрямую получить доступ к порту на этой машине, фактически доступ к C
    Эта машина --- A (мост) --- B --- C
    Этот компьютер открывает пересылку через A для пересылки в B, B открывает пересылку в указанный порт C

Функции


[ ] Добавить автоматический запуск файла конфигурации при запуске
[x] Поддержка сохранения текущей пересылки и ручного восстановления

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bolingit-my_secret_path.git
git@api.gitlife.ru:oschina-mirror/bolingit-my_secret_path.git
oschina-mirror
bolingit-my_secret_path
bolingit-my_secret_path
master