如何在Linux系统之间传输文件及文件夹,简单介绍下Linux系统自带的命令scp,使用这个命令进行两台Linux系统服务器之间进行传输文件及文件夹的操作。
两台Linux系统之间传输文件
1 工具/原料
Linux
secure CRT
2 方法/步骤
2.1 防火墙
用CRT分别连上两台需要传输文件的linux系统服务器,并检查防火墙是否关闭。
查看防火墙状态:
/etc/init.d/iptables status
若防火墙启用,暂时关闭防火墙:
/etc/init.d/iptables stop
两台Linux系统之间传输文件
2.2 网络
检查两台linux系统服务器网络是否通畅。
在A上pingB。
两台Linux系统之间传输文件
保证两台linux服务器网络是畅通的。
2.3 拷贝
2.3.1 文件
在本地A拷贝远端的服务器B上的文件:
scp root@[B的ip地址或主机名]:[B上存放文件路径] /文件 [A上存放的文件路径]
如:
scp root@192.168.3.58:/home/oracle/test.sql /home/oracle
两台Linux系统之间传输文件
两台Linux系统之间传输文件
2.3.2 文件及文件夹
在本地A拷贝远端的服务器B上的文件夹及文件夹下的文件:
scp -r root@[B的ip地址或主44056
机名]:[B上存放文件路径] [A上存放的文件路径]
如:
scp -r root@192.168.3.58:/test /test
两台Linux系统之间传输文件
两台Linux系统之间传输文件
1 工具/原料
Linux
secure CRT
2 方法/步骤
2.1 防火墙
用CRT分别连上两台需要传输文件的linux系统服务器,并检查防火墙是否关闭。
查看防火墙状态:
/etc/init.d/iptables status
若防火墙启用,暂时关闭防火墙:
/etc/init.d/iptables stop
两台Linux系统之间传输文件
2.2 网络
检查两台linux系统服务器网络是否通畅。
在A上pingB。
两台Linux系统之间传输文件
保证两台linux服务器网络是畅通的。
2.3 拷贝
2.3.1 文件
在本地A拷贝远端的服务器B上的文件:
scp root@[B的ip地址或主机名]:[B上存放文件路径] /文件 [A上存放的文件路径]
如:
scp root@192.168.3.58:/home/oracle/test.sql /home/oracle
两台Linux系统之间传输文件
两台Linux系统之间传输文件
2.3.2 文件及文件夹
在本地A拷贝远端的服务器B上的文件夹及文件夹下的文件:
scp -r root@[B的ip地址或主44056
机名]:[B上存放文件路径] [A上存放的文件路径]
如:
scp -r root@192.168.3.58:/test /test
两台Linux系统之间传输文件
2.3.2 root和user权限问题
传输过程中,scp -r root@192.168.3.58:/test /test ,其中root需开启远端机root权限,否则不可传输,也可以将root改成其它用户名,如mq,这样就只需要user权限即可,不需获得root权限。
可参考以下文章:http://www.360doc.com/content/13/0929/13/6496277_317840402.shtml
实践一例:
本地机:X.X.29.12 远程机:X.X.29.18 远程机用户:aaron
要求将本地机上的/www/xinpindao 复制到远程机的/tmp/www
%scp -r /www/xinpindao
aaron@X.X.29.18:/tmp/www
aaron@X.X.29.13's password:
正常情况下输入aaron用户的密码即可完成复制!!但此次复制没有成功出现如下提示:
scp: /tmp/www/xinpindao: Permission denied
排错:
重新查看scp命令。。。没有问题!! 重新输入口令。。。没有错误!!
查看远程机目录权限。。。
drwxr-xr-x 2 root root 4096 May 7 17:30 www
原来问题出现在这儿,此目录是后来使用root用户创建,但是对于aaron用来来讲,没有写入权限,更改权限
%chmod 777 /tmp/www
再次执行上述命令。。。成功!!!
总结:当使用scp命令进行文件复制时如果出现文件权限问题,请仔细检查目录权限,小的细节请引起注意!!
实践二例:
%scp /www/xinpindao root@X.X.29.18:/tmp 远程机用户root
root@X.X.29.18's password:
Permission denied, please try again.
Permission denied, please try again.
经过多次检查后最终发现-
为保证安全前期布署过程中已将ssh服务关闭root用户的登录权限
解决方法:
要修改root的ssh权限,即修改 /etc/ssh/sshd_config文件中
PermitRootLogin no 改为 PermitRootLogin yes
重启ssh服务
%/etc/init.d/sshd restart
重新测试成功!!!