安全的远程文件复制程序
scp [-1246BCpqrv] [-c cipher] [-F ssh-conf] [-i idfile] [-l limit] [-o ssh-opts] [-P port] [-S program] [[user@]host1:]files [[user@]host2:]file-or-dir
利用scp命令,可以在网络主机之间复制文件。scp采用OpenSSH的认证方法,利用ssh实现数据的传输,因而具有同等的安全保障。当使用scp命令复制文件时,如果需要交互认证,远程系统首先会要求用户提供密码或密码短语。经过认证之后,文件复制才会开始。如果OpenSSH设置了无密码的注册方式,可以省略交互认证过程。
在上述语法格式中,user是用户名,host1与host2是主机名,files是一个或一组文件的路径名,file-or-dir是单个文件或目录。如果任何一个主机是本地系统,主机名与用户名均可省略,只需提供正常的文件路径名即可。如果两个主机都是远程系统(即在两个远程主机之间复制文件),主机名与用户名都不能省略。如果文件路径名之前含有用户名与主机,表示以指定的用户身份,从远程主机复制文件,或把文件复制到远程主机。
注意,把源文件复制到目的文件时,scp通常不会保护已存在的目的文件。如果目的文件已经存在,scp会覆盖目的文件,代之以源文件的内容。如果目的文件不存在,scp首先会使用指定的目的文件名创建一个空文件,然后再使用源文件的内容填充新建的空文件。
-1 强制scp使用OpenSSH协议第1版。
-2 强制scp使用OpenSSH协议第2版。
-4 强制scp仅用IPv4地址。
-6 强制scp仅用IPv6地址。
-B 采用批处理方式(禁止提示用户输入密码或密码短语)。
-C 启用压缩方式(把“-C”选项传递给ssh命令,通过ssh命令实现压缩)。
-c cipher 选择加密传输数据时使用的密码。这个选项指定的密码可以直接传递给ssh。
-F ssh-conf 指定基于用户的ssh配置文件,直接传递给ssh命令。
-i idfile 指定一个密钥文件,以便能够使用其中的私钥与远程系统进行认证。这个选项指定的密钥文件可以直接传递给ssh。
-l limit 以Kbps为单位,指定传输速度,限制使用的带宽。
-o ssh-opts 采用ssh_config配置文件的格式(如“-o Port=24”),向ssh传递指定的选项。当scp命令没有单独的选项能够指定ssh选项时,“-o”选项是非常有用的。完整的ssh选项详见ssh_config配置文件手册页的说明。
-P port 指定连接远程主机的端口。
-p 保持原始文件的最近修改时间、最近访问时间和模式字段等。
-q 安静方式。禁止显示传输进度以及ssh给出的警告与诊断信息等。
-r 递归地复制整个目录。注意,在递归复制文件期间,如果遇到符号链接文件,scp将会采用符号链接文件引用的文件,或进入其引用的目录。
-S program 指定处理加密连接的程序。指定的程序必须能够处理ssh选项。
-v 显示scp命令(包括ssh命令)的处理过程与调试信息,有助于诊断连接、认证与配置等问题。
1. 把iscas系统中的文件复制到当前目录。
$ scp gqxing@iscas:/etc/profile . gqxing@iscas’s password: profile 100% 1459 1.4KB/s 00:00 $
2. 把当前目录中的文件复制到iscas系统(如果实现了无密码注册,复制文件时无须提供密码)。
$ scp ./getfile gqxing@iscas:/home/gqxing getfile 100% 68 0.1KB/s 00:00 $
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z