Назад | Перейти на главную страницу

Как перенаправить серверный сокет клиенту (возможно, ssh)

Мне интересно, могу ли / как я реализовать следующую настройку. Похоже, это не соответствует стандартной модели переадресации портов ssh.

У меня есть клиентский компьютер A. У меня есть серверное приложение, работающее на машине A, которое прослушивает порт X. Однако машина A находится за общим IP-адресом (общим для многих пользователей), поэтому он не может принимать входящие соединения на порт. X из Интернета. Однако у меня есть доступ к машине B в Amazon EC2, и было бы нормально, что соединения будут проходить через эту машину. Невозможно переместить приложение на этот компьютер в EC2.

Следовательно, я хочу, чтобы машина B прослушивала порт X и перенаправляла все соединения / сообщения на машину A. Машина A должна видеть это так, как будто клиенты подключаются к порту X обычным способом (было бы приемлемо, чтобы исходный IP отображается как машина B).

Решение должно работать таким образом, чтобы машина A была клиентом, который подключается к машине B. Таким образом, в случае ssh, A должен быть ssh-клиентом, а B - ssh-сервером. Опять же, это связано с тем, что машина A находится за общим IP-адресом, поэтому все соединения должны исходить от A.

Как можно реализовать эту установку? Предпочтительно использовать общедоступное и бесплатное программное обеспечение? Заранее спасибо.

Это можно легко сделать с помощью обратного соединения ssh, запущенного на машине A. В качестве указателя это должно быть полезно.

ssh -R :PortX:127.0.0.1:PortX user@MachineB

Если вы запускаете окна на «Машине А» звон является альтернативой ssh ​​(клиент).

Однако постоянная обратная перемотка портов может быть сложной, но абсолютно возможной.

На «Машине Б» вам необходимо включить

GatewayPorts clientspecified 

в sshd_config

РЕДАКТИРОВАТЬ:

  • ":" (двоеточие) перед PortX необходимо, чтобы сделать порт доступным для 0/0
  • Указанные клиенты GatewayPorts включает эту функцию. GatewayPorts Да всегда делает доступным мир обратных перенаправленных портов.