Linux下远程使用scp拷贝文件

SSH提供了一些命令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个"scp"命令。
假定你想把本地计算机当前目录下的一个名为"wuyang"的文件拷贝到远程服务器192.168.0.2上你的家目录下。而且你在远程服务器上的帐号名为"root"。可以用这个命令:
scp wuyang root@192.168.0.2

把文件拷贝回来用这个命令:
scp root@192.168.0.2:wuyang

关于scp命令
scp命令是SSH中最方便有用的命令了,试想,在两台服务器之间直接
传送文件,仅仅用scp一个命令就完全解决了。 你可以在一台服务器上
以root身份运行#scp servername:/home/ftp/pub/file1 . 这样就把另
一台服务器上的文件/home/ftp/pub/file1直接传到本机器的当前目录下,
当然你也可以用#scp /tmp/file2 servername:/boot 把本机上的文件
/tmp/file2送到另一台机器的/boot目录下。而且整个传送过程仍然是
用SSH加密的。

用man 命令的解释:

man Scp|more
Reformatting rcp(1), please wait...
SCP(1) BSD General Commands Manual SCP(1)

NAME
scp - secure copy (remote file copy program)

SYNOPSIS
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

DESCRIPTION
scp copies files between hosts on a network. It uses ssh(1) for data
transfer, and uses the same authentication and provides the same security
as ssh(1). Unlike rcp(1), scp will ask for passwords or passphrases if
they are needed for authentication.

Any file name may contain a host and user specification to indicate that
the file is to be copied to/from that host. Copies between two remote
hosts are permitted.

The options are as follows:

-1 Forces scp to use protocol 1.
-2 Forces scp to use protocol 2.

-4 Forces scp to use IPv4 addresses only.

-6 Forces scp to use IPv6 addresses only.

-B Selects batch mode (prevents asking for passwords or
passphrases).

-C Compression enable. Passes the -C flag to ssh(1) to enable com-
pression.

-c cipher
Selects the cipher to use for encrypting the data transfer. This
option is directly passed to ssh(1).

-F ssh_config
Specifies an alternative per-user configuration file for ssh.
This option is directly passed to ssh(1).

-i identity_file
Selects the file from which the identity (private key) for RSAauthentication is read. This option is directly passed to
ssh(1).

-l limit
Limits the used bandwidth, specified in Kbit/s.

-o ssh_option
Can be used to pass options to ssh in the format used in
ssh_config(5). This is useful for specifying options for which
there is no separate scp command-line flag. For full details of
the options listed below, and their possible values, see
ssh_config(5).

AddressFamily
BatchMode
BindAddress
ChallengeResponseAuthentication
CheckHostIP
Cipher
Ciphers
Compression
CompressionLevel
ConnectionAttempts
ConnectionTimeout
GlobalKnownHostsFile
GSSAPIAuthentication
GSSAPIDelegateCredentials
Host
HostbasedAuthentication
HostKeyAlgorithms
HostKeyAlias
HostName
IdentityFile
IdentitiesOnly
LogLevel
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
PasswordAuthentication
Port
PreferredAuthentications
Protocol
ProxyCommand
PubkeyAuthentication
RhostsRSAAuthentication
RSAAuthentication
ServerAliveInterval
ServerAliveCountMax
SmartcardDevice
StrictHostKeyChecking
TCPKeepAlive
UsePrivilegedPort
User
UserKnownHostsFile
VerifyHostKeyDNS

-P port
Specifies the port to connect to on the remote host. Note that
this option is written with a capital 'P', because -p is already
reserved for preserving the times and modes of the file in
rcp(1).

-p Preserves modification times, access times, and modes from the
original file.

-q Disables the progress meter.

-r Recursively copy entire directories.
-S program
Name of program to use for the encrypted connection. The program
must understand ssh(1) options.

-v Verbose mode. Causes scp and ssh(1) to print debugging messages
about their progress. This is helpful in debugging connection,
authentication, and configuration problems.

DIAGNOSTICS
scp exits with 0 on success or >0 if an error occurred.

SEE ALSO
rcp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),
ssh_config(5), sshd(8)

HISTORY
scp is based on the rcp(1) program in BSD source code from the Regents of
the University of California.