2018/04/18

scp


scp [可选参数] 原文件 目标文件

将本地文件复制到远程
scp demo.txt root@192.168.40.11:/tmp/

将本地文件夹复制到远程
scp -r demo root@192.168.40.11:~/

将远程文件复制到本地
scp root@192.168.40.11:/tmp/demo.txt ~/

将远程文件j夹复制到本地
scp -r root@192.168.40.11:/tmp/demo /tmp

将本地 demo.txt 文件 复制到远程,远程的端口为 23, 用户为 test, 不能使用普通密码 需要使用秘钥传输
scp -P 23 -i ~/.ssh/keys/test demo.txt test@192.168.40.11:/tmp/

其他常见参数说明

-q  不显示传输进度条。
-r  递归复制整个目录。
-v  详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-F  ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i  identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-P  port:注意是大写的P, port是指定数据传输用到的端口号。

免密执行,在A服务器拉取B服务器数据

scp root@B:/tmp/demo.txt ~/

在A服务器执行 ssh-keygen -t rsa 生成共秘钥,接着将A服务器的公钥放入B服务器中 scp ~/.ssh/id_rsa.pub root@B:~/.ssh/authorized_keys ,接下来在A服务器执行scp拉取数据即可不用输入密码