Можно ли использовать socat для достижения следующих целей без использования ssh?
> ssh -N -R 8080:localhost:1080 mylogin@server.com
-R [bind_address:]port:host:hostport
Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
This works by allocating a socket to listen to port on the remote side, and whenever a connection is made to this port,
the connection is forwarded over the secure channel, and a connection is made to host port hostport from the local machine.
-N Do not execute a remote command. This is useful for just forwarding ports (protocol version 2 only).
Возможно нет. Пока socat
безусловно, может перенаправить порт 8080 в вашей локальной системе на порт 1080 в удаленной системе, он не может изменить вашу точку происхождения - вы все равно будете подключаться из своей локальной системы.
При использовании ssh соединение пересылается через туннель ssh, так что, когда что-то подключается к порту 1080 удаленной системы, похоже, что оно также исходит из этой системы. Это имеет существенные последствия, если есть брандмауэры, предотвращающие внешний доступ к этому порту (или если соответствующий процесс прослушивает только интерфейс обратной петли).