Как я могу выставить несколько портов удаленного сервера на шаттле?

У меня есть удаленный сервер, который только выставляет SSH. Это имеет сервисы, работающие на других портах, например, база данных по порту 3306. К этим портам нельзя получить доступ удаленно, но доступны из контекста сервера (localhost:3306).

Используя ssh -L Я могу получить доступ к единственному порту на удаленном сервере. Но как я могу сделать все эти порты доступными для моей локальной машины по ssh/sshuttle соединению?

5
задан 15 July 2017 в 00:10

1 ответ

На удаленном сервере определяют вторичный IP-адрес, например, 10.0.0.1, который указывает на себя. (Тот же путь 127.0.0.1 делает.)

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

sshuttle -r user@remote 10.0.0.1
# "user" is your username on the remote machine
# "remote" is the name or IP address of the remote machine

Можно теперь получить доступ к удаленному серверу в этих 10.0.0.1 адресах. Поскольку это понимает соединения от 10.0.0.1, чтобы быть "собой", все порты доступны в том адресе. (Они прекращают быть доступными, как только Вы закрываете соединение шаттла.)

Можно подтвердить это со следующими командами:

nmap remote # returns only ssh port
nmap 10.0.0.1 # returns all ports

Можно теперь соединиться с базой данных с адресом 10.0.0.1:3306. Например, если это - база данных MySQL, можно подключить к нему uing MySQL Workbench.

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

4
ответ дан 23 November 2019 в 09:31

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

Похожие вопросы: