稍微玩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 – 后面我们在传输的时候就不要输入密码。
但是,为了安全,个人建议还是每次输入密码比较好。