Linux VPS/服务器利用scp命令进行不同VPS间数据拷贝传输

稍微玩VPS/服务器比较久的站长手中应该不止一台VPS,我们会有多台机器之间的相互使用。比如可能会遇到的是数据传输,我们传统的做法是先用FTP下载数据A到本地,然后再到本地FTP上传数据到B服务器中,这样对于不是太追求效率和速度的用户也是比较好的,毕竟一般的用户也足够使用。

如果我们需要处理较多和大型的数据,如果使用FTP进行传输,速度肯定比较慢,我们可以采用在线打包,然后进行WGET传输拉取,但这样需要进行打包,有些时候也比较麻烦,这里国外主机优惠分享一个在Linux VPS中使用也比较多的SCP命令,直接可以目录之间的拷贝和不同VPS之间的数据传输。

 第一、SCP命令的基本使用

A – 如果我们需要从当前VPS拷贝文件到远端的VPS

scp -P 22 -r /home/itbulu.com/ root@B服务器IP地址:/home/itbulu.com/

看上面的范例,其实很简单,P后面的22是端口,如果我们修改过其他端口需要修改成我们自己设置的,后面是传输过去的远端服务器目录。

B – 远端拷贝到当前VPS目录

scp -P 22 root@远端服务器IP地址:/home/itbulu.com/ /home/

同样的,我们需要将远端的文件拷贝到当前目录。这里提交之后,会要求我们输入SSH密码。

这里我们用到的SCP全部需要用SSH密码输入才可以传输,这样相对来说比较安全,如果我们不想要密码,那可以设置证书密钥,然后设置完毕AB两个机器对接之后,可以不需要密码就可以传输。

第二、设置服务器密钥非密码传输

A – 生成密钥

ssh-keygen -b 1024 -t rsa

在A服务器中执行上面的命令,然后会生成id_rsa.文件到/root/.ssh/id_rsa.pub.目录中,我们需要将文件拷贝到B服务器的对应目录中。

B – 拷贝密钥

scp -p /root/.ssh/id_rsa.pub root@B服务器IP:/root/.ssh/authorized_keys

这次还是需要输入B服务器的ROOT密码的。

C – 后面我们在传输的时候就不要输入密码。

但是,为了安全,国外主机优惠个人建议还是每次输入密码比较好。