Integrate unfix.org's IPv6 patches up to level 10, with rather a lot
[u/mdw/putty] / doc / plink.but
index 6cc461e..7e27800 100644 (file)
@@ -1,4 +1,4 @@
-\versionid $Id: plink.but,v 1.17 2002/09/11 17:30:36 jacob Exp $
+\define{versionidplink} \versionid $Id$
 
 \C{plink} Using the command-line connection tool Plink
 
@@ -43,28 +43,36 @@ use Plink:
 
 \c Z:\sysosd>plink
 \c PuTTY Link: command-line connection utility
-\c Release 0.53
+\c Release 0.XX
 \c Usage: plink [options] [user@]host [command]
 \c        ("host" can also be a PuTTY saved session name)
 \c Options:
+\c   -V        print version information
 \c   -v        show verbose messages
 \c   -load sessname  Load settings from saved session
 \c   -ssh -telnet -rlogin -raw
-\c             force use of a particular protocol (default SSH)
+\c             force use of a particular protocol
 \c   -P port   connect to specified port
 \c   -l user   connect with specified username
 \c   -m file   read remote command(s) from file
 \c   -batch    disable all interactive prompts
 \c The following options only apply to SSH connections:
 \c   -pw passw login with specified password
-\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
 \c   -1 -2     force use of particular protocol version
+\c   -4 -6     force use of IPv4 or IPv6
 \c   -C        enable compression
 \c   -i key    private key file for authentication
+\c   -s        remote command is an SSH subsystem (SSH-2 only)
+\c   -N        don't start a shell/command (SSH-2 only)
 
 Once this works, you are ready to use Plink.
 
@@ -124,6 +132,19 @@ Usually Plink is not invoked directly by a user, but run
 automatically by another process. Therefore you typically do not
 want Plink to prompt you for a user name or a password.
 
+Next, you are likely to need to avoid the various interactive
+prompts Plink can produce. You might be prompted to verify the host
+key of the server you're connecting to, to enter a user name, or to
+enter a password.
+
+To avoid being prompted for the server host key when using Plink for
+an automated connection, you should first make a \e{manual}
+connection (using either of PuTTY or Plink) to the same server,
+verify the host key (see \k{gs-hostkey} for more information), and
+select Yes to add the host key to the Registry. After that, Plink
+commands connecting to that server should not give a host key prompt
+unless the host key changes.
+
 To avoid being prompted for a user name, you can:
 
 \b Use the \c{-l} option to specify a user name on the command line.
@@ -172,8 +193,12 @@ Plink accepts all the general command line options supported by the
 PuTTY tools. See \k{using-general-opts} for a description of these
 options.
 
-In addition to this, Plink accepts one other option: the \c{-batch}
-option. If you use the \c{-batch} option, Plink will never give an
+Plink also supports some of its own options. The following sections
+describe Plink's specific command-line options.
+
+\S2{plink-option-batch} \c{-batch}: disable all interactive prompts
+
+If you use the \c{-batch} option, Plink will never give an
 interactive prompt while establishing the connection. If the
 server's host key is invalid, for example (see \k{gs-hostkey}), then
 the connection will simply be abandoned instead of asking you what
@@ -183,6 +208,14 @@ This may help Plink's behaviour when it is used in automated
 scripts: using \c{-batch}, if something goes wrong at connection
 time, the batch job will fail rather than hang.
 
+\S2{plink-option-s} \c{-s}: remote command is SSH subsystem
+
+If you specify the \c{-s} option, Plink passes the specified command
+as the name of an SSH \q{subsystem} rather than an ordinary command
+line.
+
+(This option is only meaningful with the SSH-2 protocol.)
+
 \H{plink-batch} Using Plink in \i{batch files} and \i{scripts}
 
 Once you have set up Plink to be able to log in to a remote server
@@ -195,7 +228,7 @@ start a backup on a remote machine, you might use a command like:
 Or perhaps you want to fetch all system log lines relating to a
 particular web area:
 
-\c plink mysession grep /~fjbloggs/ /var/log/httpd/access.log > fredlogs
+\c plink mysession grep /~fred/ /var/log/httpd/access.log > fredlog
 
 Any non-interactive command you could usefully run on the server
 command line, you can run in a batch file using Plink in this way.