-\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
\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 and exit
+\c -pgpfp print PGP key fingerprints and exit
\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 -m file read remote command(s) from file
+\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.
\c Last login: Thu Dec 6 19:25:33 2001 from :0.0
\c fred@flunky:~$
+(You can also use the \c{-load} command-line option to load a saved
+session; see \k{using-cmdline-load}. If you use \c{-load}, the saved
+session exists, and it specifies a hostname, you cannot also specify a
+\c{host} or \c{user@host} argument - it will be treated as part of the
+remote command.)
+
\S{plink-usage-batch} Using Plink for automated connections
More typically Plink is used with the SSH protocol, to enable you to
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.
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
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
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.