Предоставление доступа к прокси, на удаленном сервере посредством туннелирования ssh

Я знаю, что могу использовать ssh, туннелирующий для создания "прокси" на моей машине так, чтобы я мог сделать весь трафик сгенерированным, локально проходят удаленный сервер. Как это:

$ ssh -D 12345 myuser@remote_ssh_server

Но что относительно того, если я должен создать "прокси" на удаленном сервере, так, чтобы весь трафик, что я отправляю его, прошел мою локальную машину? Действительно ли это возможно с ssh?

По существу я хочу использовать свое локальное интернет-соединение с некоторыми определенными командами для выполнения удаленно, поскольку сервер не имеет прямого доступа к Интернету.

5
задан 28 August 2014 в 14:18
1 ответ

Самый простой способ сделать это - по одному порту и хосту за раз. Например, для переадресации трафика с remote:8001 на интрасервер:80,

ssh -R 8001:intraserver:80 myuser@remote

Но если вы хотите переадресовать весь трафик с удаленного, и на вашем локальном хосте запущен ssh сервер,

ssh -R 2200:localhost:22 myuser@remote ssh -D 10800 -p 2200 localhost

Распаковка, которая:

  • -R 2200:localhost:22 устанавливает переадресацию с remote:2200 на localhost:22.
  • ssh -p 2200 localhost запускает ssh на remote для соединения с remote:2200, и таким образом возвращается на localhost:22 (туннелируется через первое соединение ssh).
  • -D 10800 туннелирует SOCKS с remote:10800, через соединение с remote back на localhost.
5
ответ дан 3 December 2019 в 01:38

Теги

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