X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/ffd641146e9eff7ee3c1349663729477ca630f17..9954aaa37368a233dc614d610ca68c2ce5a7e8cd:/doc/pscp.but diff --git a/doc/pscp.but b/doc/pscp.but index 08be2d0b..627dd8f2 100644 --- a/doc/pscp.but +++ b/doc/pscp.but @@ -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}