SCP
SSH还可用于安全的将文件从一台主机复制到另一台主机。 scp命令可将文件从远程主机传输到本地系统,或者反之。它利用SSH服务器进行身份验证和加密数据传输
命令:scp 本地path [user@]remotehost:/path#推
命令:scp [user@]remotehost:/path 本地path #拉
注:user@可选,如果没有scp命令调用当前本地用户。在启动传输之前,用户必须通过密码或SSH密钥与SSH服务器进行身份验证
[root@server0 backup]# scp --help
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-iidentity_file]
[-l limit] [-ossh_option] [-P port] [-S program]
[[user@]host1:]file1... [[user@]host2:]file2
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
可能有用的几个参数 :
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接, 认证 , 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
-4 强行使用 IPV4 地址
-6 强行使用 IPV6 地址
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
实例:
scp /etc/yum.conf /etc/hosts serverX:/home/student
scp serverX:/etc/hostname /home/student/
scp –r root@serverX:/var/log/tmp #-r:递归方式复制整个目录
[root@desktop0 ~]# scp etc.tar.gz root@172.25.0.11:/backup
etc.tar.gz 100% 8541KB 8.3MB/s 00:00
[root@server0 ~]# cd /backup/
[root@server0 backup]# ls
etc.tar.gz
[root@desktop0 ~]# scp root@172.25.0.11:/backup/etc.tar.gz ./
etc.tar.gz 100% 8541KB 8.3MB/s 00:00
[root@desktop0 ~]# ls
anaconda-ks.cfg etc.tar.gz file1.sh rsc smb_edward.cred test.sh top.txt