Linux的SCP命令
Linux 的 SCP 命令
两台主机传送⽂件的时候, 经常⽤到 scp 命令。scp 的基本命令格式如下:scp [参数] [原路径] [⽬标路径]
常⽤的命令参数
-1 强制scp命令使⽤协议ssh1
-2 强制scp命令使⽤协议ssh2
-4 强制scp命令只使⽤IPv4寻址
-6 强制scp命令只使⽤IPv6寻址
-B 使⽤批处理模式(传输过程中不询问传输⼝令或短语)
-C 允许压缩。(将-C标志传递给ssh,从⽽打开压缩功能)
-p 留原⽂件的修改时间,访问时间和访问权限。
-
q 不显⽰传输进度条。
-r 递归复制整个⽬录。cipher命令
-v 详细⽅式显⽰输出。scp和ssh(1)会显⽰出整个过程的调试信息。这些信息⽤于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进⾏加密,这个选项将直接传递给ssh。
-F ssh_config 指定⼀个替代的ssh配置⽂件,此参数直接传递给ssh。
-i identity_file 从指定⽂件中读取传输时使⽤的密钥⽂件,此参数直接传递给ssh。
-l limit 限定⽤户所能使⽤的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使⽤ssh_config(5)中的参数传递⽅式,
-P port 注意是⼤写的P, port是指定数据传输⽤到的端⼝号
-S program 指定加密传输时所使⽤的程序。此程序必须能够理解ssh(1)的选项。
使⽤案例
案例 1
⽐如想要从远程主机 (1.1.1.1) 使⽤ivy⽤户复制⼀个/home/ivy/test⽬录到本地主机的/home/ivy/⽬录下。
scp -r -v ivy@1.1.1.1:/home/ivy/test /home/ivy/
输⼊后会指引输⼊远程主机 ivy ⽤户的密码来创建连接。
案例 2
如果与远程主机创建连接的验证⽅式是密钥验证,那么就复杂点了。
⾸先把公钥拷贝到远程主机ivy⽤户的/home/ivy/.ssh/authorized_keys⽂件中。
然后把私钥拷贝到本地主机的某个⽬录下,⽐如/home/ivy/private.pem。
接着划重点,需要修改⼀下私钥⽂件的权限(不然会报WARNING: UNPROTECTED PRIVATE KEY FILE!的错),具体操作如下。chmod 700 /home/ivy/private.pem
再接着就可以正常使⽤ scp 命令了。
scp -i /home/ivy/private.pem -r -v ivy@1.1.1.1:/home/ivy/test /home/ivy/
案例 3
如果远程主机不是默认的 22 端⼝创建连接呢?那么加⼀个参数就可以了,⽐如说 2021 端⼝。
scp -P 2021 -i /home/ivy/private.pem -r -v ivy@1.1.1.1:/home/ivy/test /home/ivy/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。