感谢支持
我们一直在努力

Ubuntu 10.10与Fedora 14下使用scp实现文件传输

实验室里的机子主要装了两种Linux,Ubuntu和Fedora,平时大家传资料,都是用U盘拖来脱去,甚是不便,于是,今天就写一篇教程,教大家如何使用Linux自带的scp命令来实现文件传输。


1.首先要保证两个机子间能ping通。例如一个的ip地址是192.168.82.1(查看本机ip:$ ifconfig),用户名为citA,另一台机子的ip地址是192.168.82.2,用户名为citB。


在citA的终端中输入$ ping 192.168.82.2 ,如果返回


PING 192.168.82.2 (192.168.82.2) 56(84) bytes of data.
From 192.168.82.1 icmp_seq=1 Destination Host Unreachable
From 192.168.82.1 icmp_seq=2 Destination Host Unreachable
….


说明网络连接有问题,请检查网线,网卡等设备。如果返回


PING 192.168.82.2 (192.168.82.2) 56(84) bytes of data.
64 bytes from 192.168.82.2: icmp_req=1 ttl=64 time=0.229 ms
64 bytes from 192.168.82.2: icmp_req=2 ttl=64 time=0.215 ms
64 bytes from 192.168.82.2: icmp_req=3 ttl=64 time=0.224 ms


….


说明两机连通,可以进行下一步操作。




2.使用scp命令传文件。


例如将citA的/home/citA/Desktop/a文件传到citB的/home/citB/Desktop/里,有两种方法:



(1)进入citA的Desktop目录中


$ cd /home/citA/Desktop


然后执行scp命令


$ scp a citB@192.168.82.2:/home/citB/Desktop


格式为



$ scp 文件名 接受端用户名@接受端ip地址:接受端路径



(2)或者在任意目录下,输入发送端的完整路径


$ scp /home/citA/Desktop/a citB@192.168.82.2:/home/citB/Desktop



格式为


$ scp 发送端路径+文件名 接受端用户名@接受端ip地址:接受端路径



当然了,你要有对方用户的密码才可以。如果是文件夹,使用scp -r即可。如果想将当前目录下所有文件夹全部发送,scp -r *就可以了。




搞定。。。



下面介绍下可能出现的错误及异常情况。


1.如果向fedora系统的机子传送文件时出现


ssh: connect to host 192.168.82.15 port 22: No route to host lost connection


可能是由于fedora的系统默认关闭了传输文件的22端口导致的,我们用命令打开它,在接受端上输入:


$ su


输入密码,进入最高权限,然后开启22端口:


# iptables -I INPUT -p tcp –dport 22 -j ACCEPT


此时,再次尝试传输命令,如果依旧报错,还是进入接受端,在最高权限下,重启它的sshd服务,注意要输入完整路径名:


# /etc/init.d/sshd restart


此时再次尝试传输,应该会成功。




2.如果出现 Permission denied,这个问题主要是权限问题。


(1)首先检查自己要发送的文件是否有自己可以执行的权限,使用


$ ls -l 文件名


查看,如果权限不足,可以使用


$ chmod 777 文件名


来提升文件权限。


(2)可能是路径的权限问题


检查自己是否具有向接受端路径写的权限,例如,当处在普通权限时,如果向接受端的 / 目录下写,就必定是Permission denie的。




3.对于 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 




是由于先前已经连接过此接受端,本机中就会存储接受端的历史信息,结果再次连接时接受端的信息出现了变化,与本机中存储的历史信息不符,导致的错误,只要将本机中存储的历史信息删除即可。




按照报错信息提示,进入/home/cit/.ssh/


$ cd /home/cit/.ssh/


使用vi编辑器或gedit打开known_hosts


$ vi known_hosts



$ gedit known_hosts


全部删除里面的信息即可,记住不是删除这个文件,是打开文件,删除里面的信息。。。



至此,scp文件传输应该就可以搞定了。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 10.10与Fedora 14下使用scp实现文件传输
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏