Patch to PSFTP: implement mkdir, rmdir, rm and scripting. Still to
[u/mdw/putty] / doc / pscp.but
index 08be2d0..627dd8f 100644 (file)
@@ -1,6 +1,6 @@
-\versionid $Id: pscp.but,v 1.6 2001/01/31 00:25:57 owen Exp $
+\versionid $Id: pscp.but,v 1.12 2001/07/01 09:21:01 simon Exp $
 
-\#FIXME: Need examples, index entries, links
+\#FIXME: Need examples
 
 \C{pscp} Using PSCP to transfer files securely
 
@@ -23,7 +23,7 @@ To start PSCP it will need either to be on your \i{\c{PATH}} or in your
 current directory.  To add the directory containing PSCP to your
 \c{PATH} environment variable, type into the console window:
 
-\c set PATH C:\path\to\putty\directory;%PATH%
+\c set PATH=C:\path\to\putty\directory;%PATH%
 
 This will only work for the lifetime of that particular console
 window.  To set your \c{PATH} more permanently on Windows NT, use the
@@ -59,11 +59,22 @@ familiar with that.)
 
 To receive (a) file(s) from a remote server: 
 
-\c{pscp [options] [user@]host:source target}
+\c pscp [options] [user@]host:source target
+
+So to copy the file \c{/etc/hosts} from the server \c{example.com} as
+user \c{fred} to the file \c{c:\\temp\\example-hosts.txt}, you would type:
+
+\c pscp fred@example.com:/etc/hosts c:\temp\example-hosts.txt
 
 To send (a) file(s) to a remote server: 
 
-\c{pscp [options] source [source...] [user@]host:target}
+\c pscp [options] source [source...] [user@]host:target
+
+So to copy the local file \c{c:\\documents\\csh-whynot.txt} to the
+server \c{example.com} as user \c{fred} to the file
+\c{/tmp/csh-whynot} you would type:
+
+\c pscp c:\documents\csh-whynot.txt fred@example.com:/tmp/csh-whynot
 
 \S2{pscp-usage-basics-user} \c{user}
 
@@ -83,13 +94,30 @@ number, cipher type and username will be used.
 One or more source files. \i{Wildcards} are allowed.  The syntax of
 wildcards depends on the system to which they apply, so if you are
 copying \e{from} a Windows system \e{to} a UNIX system, you should use 
-Windows wildcard syntax (e.g. \c{*.*}), but if you are copying \{from} 
+Windows wildcard syntax (e.g. \c{*.*}), but if you are copying \e{from} 
 a UNIX system \e{to} a Windows system, you would use the wildcard
 syntax allowed by your UNIX shell (e.g. \c{*}).
 
+If the source is a remote server and you do not specify a full
+pathname (in UNIX, a pathname beginning with a \c{/} (slash)
+character), what you specify as a source will be interpreted relative
+to your home directory on the remote server.
+
 \S2{pscp-usage-basics-target} \c{target}
 
-The filename or directory to put the file(s).
+The filename or directory to put the file(s).  When copying from a
+remote server to a local host, you may wish simply to place the
+file(s) in the current directory.  To do this, you should specify a
+target of \c{.}.  For example:
+
+\c pscp fred@example.com:/home/tom/.emacs .
+
+...would copy \c{/home/tom/.emacs} on the remote server to the current 
+directory.
+
+As with the \c{source} parameter, if the target is on a remote server
+and is not a full path name, it is interpreted relative to your home
+directory on the remote server.
 
 \S{pscp-usage-options} Options
 
@@ -157,9 +185,35 @@ line.
 
 Since specifying passwords in scripts is a bad idea for security
 reasons, you might want instead to consider using public-key
-authentication (see \k{pubkey}).  PSCP will attempt to authenticate
-with any key specified in a saved session's configuration or with a
-key stored in Pageant (see \k{pageant}) before asking for a password.
+authentication; see \k{pscp-pubkey}.
+
+\S{pscp-pubkey} Using public key authentication with PSCP
+
+Like PuTTY, PSCP can authenticate using a public key instead of a
+password. There are two ways you can do this.
+
+Firstly, PSCP can use PuTTY saved sessions in place of hostnames
+(see \k{pscp-usage-basics-host}). So you would do this:
+
+\b Run PuTTY, and create a PuTTY saved session (see
+\k{config-saving}) which specifies your private key file (see
+\k{config-auth}). You will probably also want to specify a username
+to log in as (see \k{config-username}).
+
+\b In PSCP, you can now use the name of the session instead of a
+hostname: type \c{pscp sessionname:file localfile}, where
+\c{sessionname} is replaced by the name of your saved session.
+
+Secondly, PSCP will attempt to authenticate using Pageant if Pageant
+is running (see \k{pageant}). So you would do this:
+
+\b Ensure Pageant is running, and has your private key stored in it.
+
+\b Specify a user and host name to PSCP as normal. PSCP will
+automatically detect Pageant and try to use the keys within it.
+
+For more general information on public-key authentication, see
+\k{pubkey}.
 
 \H{pscp-ixplorer} \i{Secure iXplorer}