Linux下利用ssh远程文件传输

有时候我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无法通过常规途径上传是,只需要通过scp命令便可以轻松的达到目的。

首先开启两台虚拟机进行测试:192.168.224.10和192.168.224.11

scp命令理解:

#上传时:scp [-r] 所要上传的文件或文件夹 要上传到哪里
#下载时:scp [-r] 所要下载的文件或文件夹 要下载到哪里

一、上传文件和下载文件

1、在192.168.224.10的home/test/文件件下创建一个test.php进行测试

cd /home/test
touch test.php

2、把192.168.224.10的home/test/文件件下的test.php上传到192.168.224.11的/home目录下(可以是任意目录)

scp /home/test/test.php root@192.168.224.11:/home/

执行上面scp命令后输入192.168.224.11的用户密码即可:如下

image.png

3、192.168.224.11的/home目录下的test.php下载到192.168.224.10的/home目录下

rm -rf /home/test.php #删除192.168.224.10下的test.php
scp root@192.168.224.11:/home/test.php /home/

执行scp命令输入192.168.224.11的用户密码即可:结果如下

image.png

下载文件成功


二、上传文件夹和下载文件夹

1、把192.168.224.10的home/test/文件夹上传到192.168.224.11的/home目录下(可以是任意目录)

scp -r /home/test root@192.168.224.11:/home/

执行scp命令输入192.168.224.11的用户密码即可:结果如下

image.png

查看192.168.224.11的/home下有没有test文件夹,结果如下:

image.png

上图说明上传成功

2、192.168.224.11的home/test/文件夹下载到192.168.224.10的/home目录下(可以是任意目录)

rm -rf /home/test/ #删除192.168.224.10的/home/test文件夹
scp -r  root@192.168.224.11:/home/test/ /home/ #下载test文件夹到192.168.224.10的home目录下

执行scp命令输入192.168.224.11的用户密码即可:结果如下

image.png

下载成功