From: jacob Date: Tue, 20 Jan 2004 12:46:36 +0000 (+0000) Subject: `portfwd-loopback-choice' was not consistently documented. X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/dbe6c525a19dc7b52ff9f6bfb1f64da7579689d3 `portfwd-loopback-choice' was not consistently documented. - update usage info in tools - ack, plink is over 24 lines now - update man pages for Unix version - Doc changes: - move long description from (GUI) "config" to "using" - sorry if complete specification isn't what this section is meant for, but if you only read "using" it was hard to find. - ensure enough references to this made in other sections (GUI, command-line) - update instance of plink usage info git-svn-id: svn://svn.tartarus.org/sgt/putty@3740 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/doc/config.but b/doc/config.but index 5153a14f..6f760972 100644 --- a/doc/config.but +++ b/doc/config.but @@ -1,4 +1,4 @@ -\versionid $Id: config.but,v 1.72 2003/11/20 18:33:22 simon Exp $ +\versionid $Id: config.but,v 1.73 2004/01/20 12:46:35 jacob Exp $ \C{config} Configuring PuTTY @@ -2047,17 +2047,9 @@ To remove a port forwarding, simply select its details in the list box, and click the \q{Remove} button. In the \q{Source port} box, you can also optionally enter an IP -address to listen on. Typically a Windows machine can be asked to -listen on any single IP address in the \cw{127.*.*.*} range, and all -of these are loopback addresses available only to the local machine. -So if you forward (for example) \c{127.0.0.5:79} to a remote -machine's \cw{finger} port, then you should be able to run commands -such as \c{finger fred@127.0.0.5}. This can be useful if the program -connecting to the forwarded port doesn't allow you to change the -port number it uses. This feature is available for local-to-remote -forwarded ports; SSH1 is unable to support it for remote-to-local -ports, while SSH2 can support it in theory but servers will not -necessarily cooperate. +address to listen on, by specifying (for instance) \c{127.0.0.5:79}. +See \k{using-port-forwarding} for more information on how this +works and its restrictions. \S{config-ssh-portfwd-localhost} Controlling the visibility of forwarded ports diff --git a/doc/plink.but b/doc/plink.but index 1b2be43f..61303dce 100644 --- a/doc/plink.but +++ b/doc/plink.but @@ -1,4 +1,4 @@ -\versionid $Id: plink.but,v 1.19 2003/08/29 19:06:22 jacob Exp $ +\versionid $Id: plink.but,v 1.20 2004/01/20 12:46:35 jacob Exp $ \C{plink} Using the command-line connection tool Plink @@ -43,7 +43,7 @@ use Plink: \c Z:\sysosd>plink \c PuTTY Link: command-line connection utility -\c Unidentified build, Aug 29 2003 19:49:05 +\c Unidentified build, Jan 20 2004 12:39:22 \c Usage: plink [options] [user@]host [command] \c ("host" can also be a PuTTY saved session name) \c Options: @@ -57,9 +57,12 @@ use Plink: \c -batch disable all interactive prompts \c The following options only apply to SSH connections: \c -pw passw login with specified password -\c -D listen-port Dynamic SOCKS-based port forwarding -\c -L listen-port:host:port Forward local port to remote address -\c -R listen-port:host:port Forward remote port to local address +\c -D [listen-IP:]listen-port +\c Dynamic SOCKS-based port forwarding +\c -L [listen-IP:]listen-port:host:port +\c Forward local port to remote address +\c -R [listen-IP:]listen-port:host:port +\c Forward remote port to local address \c -X -x enable / disable X11 forwarding \c -A -a enable / disable agent forwarding \c -t -T enable / disable pty allocation diff --git a/doc/using.but b/doc/using.but index 8c62f12d..9f0c3534 100644 --- a/doc/using.but +++ b/doc/using.but @@ -1,4 +1,4 @@ -\versionid $Id: using.but,v 1.16 2004/01/19 00:19:32 jacob Exp $ +\versionid $Id: using.but,v 1.17 2004/01/20 12:46:35 jacob Exp $ \C{using} Using PuTTY @@ -264,7 +264,7 @@ to a port on a remote server, you need to: \b Choose a port number on your local machine where PuTTY should listen for incoming connections. There are likely to be plenty of unused port numbers above 3000. (You can also use a local loopback -address here; see \k{config-ssh-portfwd} for more details.) +address here; see below for more details.) \b Now, before you start your SSH connection, go to the Tunnels panel (see \k{config-ssh-portfwd}). Make sure the \q{Local} radio @@ -327,6 +327,19 @@ SSH server machine can connect to the forwarded port.) Note that this feature is only available in the SSH 2 protocol, and not all SSH 2 servers support it (OpenSSH 3.0 does not, for example). +You can also specify an IP address to listen on. Typically a +Windows machine can be asked to listen on any single IP address in +the \cw{127.*.*.*} range, and all of these are loopback addresses +available only to the local machine. So if you forward (for +example) \c{127.0.0.5:79} to a remote machine's \cw{finger} port, +then you should be able to run commands such as \c{finger +fred@127.0.0.5}. This can be useful if the program connecting to +the forwarded port doesn't allow you to change the port number it +uses. This feature is available for local-to-remote forwarded +ports; SSH1 is unable to support it for remote-to-local ports, +while SSH2 can support it in theory but servers will not +necessarily cooperate. + \H{using-rawprot} Making raw TCP connections A lot of Internet protocols are composed of commands and responses @@ -482,6 +495,11 @@ option instead of \c{-L}: \c putty -R 5023:mytelnetserver.myhouse.org:23 -load mysession \c plink mysession -R 5023:mytelnetserver.myhouse.org:23 +To specify an IP address for the listening end of the tunnel, +prepend it to the argument: + +\c plink -L 127.0.0.5:23:localhost:23 myhost + To set up SOCKS-based dynamic port forwarding on a local port, use the \c{-D} option. For this one you only have to pass the port number: diff --git a/plink.c b/plink.c index b46c5d6b..37113762 100644 --- a/plink.c +++ b/plink.c @@ -220,11 +220,12 @@ static void usage(void) printf(" -batch disable all interactive prompts\n"); printf("The following options only apply to SSH connections:\n"); printf(" -pw passw login with specified password\n"); - printf(" -D listen-port Dynamic SOCKS-based port forwarding\n"); - printf(" -L listen-port:host:port Forward local port to " - "remote address\n"); - printf(" -R listen-port:host:port Forward remote port to" - " local address\n"); + printf(" -D [listen-IP:]listen-port\n"); + printf(" Dynamic SOCKS-based port forwarding\n"); + printf(" -L [listen-IP:]listen-port:host:port\n"); + printf(" Forward local port to remote address\n"); + printf(" -R [listen-IP:]listen-port:host:port\n"); + printf(" Forward remote port to local address\n"); printf(" -X -x enable / disable X11 forwarding\n"); printf(" -A -a enable / disable agent forwarding\n"); printf(" -t -T enable / disable pty allocation\n"); diff --git a/unix/plink.1 b/unix/plink.1 index ae437675..a8b8fc33 100644 --- a/unix/plink.1 +++ b/unix/plink.1 @@ -29,11 +29,11 @@ Read remote command(s) from file \fIpath\fR. Disable interactive prompts. .IP "\fB-pw\fR \fIpassword\fR" Set remote password to \fIpassword\fR. -.IP "\fB-L\fR \fIlisten\fB:\fIhost\fB:\fIport\fR" +.IP "\fB-L\fR [\fIlisten-IP\fB:\fR]\fIlisten\fB:\fIhost\fB:\fIport\fR" Forward the local port to a remote address. -.IP "\fB-R\fR \fIlisten\fB:\fIhost\fB:\fIport\fR" +.IP "\fB-R\fR [\fIlisten-IP\fB:\fR]\fIlisten\fB:\fIhost\fB:\fIport\fR" Forward the a remote port to a local address. -.IP "\fB-D\fR \fIlisten-port\fR" +.IP "\fB-D\fR [\fIlisten-IP\fB:\fR]\fIlisten-port\fR" Dynamic port forwarding: start a SOCKS server on \fIlisten-port\fR. .IP "\fB-X\fR" Enable X11 forwarding. diff --git a/unix/uxplink.c b/unix/uxplink.c index 087c2d87..16919337 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -218,11 +218,12 @@ static void usage(void) printf(" -batch disable all interactive prompts\n"); printf("The following options only apply to SSH connections:\n"); printf(" -pw passw login with specified password\n"); - printf(" -D listen-port Dynamic SOCKS-based port forwarding\n"); - printf(" -L listen-port:host:port Forward local port to " - "remote address\n"); - printf(" -R listen-port:host:port Forward remote port to" - " local address\n"); + printf(" -D [listen-IP:]listen-port\n"); + printf(" Dynamic SOCKS-based port forwarding\n"); + printf(" -L [listen-IP:]listen-port:host:port\n"); + printf(" Forward local port to remote address\n"); + printf(" -R [listen-IP:]listen-port:host:port\n"); + printf(" Forward remote port to local address\n"); printf(" -X -x enable / disable X11 forwarding\n"); printf(" -A -a enable / disable agent forwarding\n"); printf(" -t -T enable / disable pty allocation\n");