Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for reverse port forwarding #499

Open
wincent opened this issue Feb 7, 2014 · 9 comments
Open

Support for reverse port forwarding #499

wincent opened this issue Feb 7, 2014 · 9 comments

Comments

@wincent
Copy link

wincent commented Feb 7, 2014

This would be a nice to have; basically the equivalent of SSH's -R option:

 -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.

         Port forwardings can also be specified in the configuration file.  Privi-
         leged ports can be forwarded only when logging in as root on the remote
         machine.  IPv6 addresses can be specified by enclosing the address in square
         brackets.

         By default, the listening socket on the server will be bound to the loopback
         interface only.  This may be overridden by specifying a bind_address.  An
         empty bind_address, or the address `*', indicates that the remote socket
         should listen on all interfaces.  Specifying a remote bind_address will only
         succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).

         If the port argument is `0', the listen port will be dynamically allocated
         on the server and reported to the client at run time.  When used together
         with -O forward the allocated port will be printed to the standard output.

My specific use case here is wanting to use https://github.com/wincent/clipper, which relies on reverse port-forwarding to expose the local clipboard to a process running on a remote host (ie. to do things like copy from tmux or Vim on a remote machine and have it land in your local system clipboard).

I've seen tickets here for agent forwarding and "normal" (not reverse) port-forwarding, so thought I'd open up a ticket to track this one separately.

@andrewpcone
Copy link

Agree this would be very useful. Mosh already recognizes parts of ~/.ssh/config. It should also recognize directives like

RemoteForward 52698 127.0.0.1:52698

related to #431

@xrchz

This comment has been minimized.

2 similar comments
@alxyang

This comment has been minimized.

@pbjc

This comment has been minimized.

@d4l3k
Copy link

d4l3k commented Jul 11, 2018

duplicate of #337

@wincent
Copy link
Author

wincent commented Jul 11, 2018

@d4l3k: I created this one as a separate issue specifically for reverse port forwarding, because I think people are talking about forward port forwarding in that other issue.

@d4l3k
Copy link

d4l3k commented Jul 11, 2018 via email

@wincent
Copy link
Author

wincent commented Jul 11, 2018

Ya, I know, but the features are conceptually distinct. I'd hate to see forward port forwarding get implemented (because it is more obvious) and have reverse port forwarding overlooked.

@ayr-ton
Copy link

ayr-ton commented Dec 15, 2021

It could be just a wrapper around SSH as well. Just for enabling replacing SSH by Mosh in VSCode SSH environments for example (It needs SSH forwarding for working as expected)

@achernya achernya added this to the mosh-future milestone Jan 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants