《OpenWrt开发笔记》第9章 开发板和Windows、Ubuntu互传文件
《OpenWrt开发笔记》第9章 开发板和Windows、Ubuntu互传文件
【注1】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。
【注2】Openwrt17.01源码中未添加该功能,有兴趣的朋友可自行查找相关资料。
9.1添加SSH服务器
一说到开发板和Windows之间互传文件,大家肯定马上就会想到通过SSH,但是大家最终发现,无论我们通过什么软件,总是不能登录到开发板上。
那么,这会是什么原因呢?因为目前为止,我们开发板上面的系统还没有SSH服务器,所以我们总是不能登录上去。那么,接下来,我们就来给开发板上的系统添加SSH服务器。
首先进入OpenWrt系统源码的顶层目录,然后执行makemenuconfig命令。
# make menuconfig
在弹出的菜单当中,我们首先进入Network,如图1所示。
图1
紧接着进入SSH目录,如图2所示。
图2
然后,选中openssh-sftp-server这个选项,如图3所示。
图3
最后就是保存退出,然后重新编译。
#make V=99
9.2开发板Windows互传文件
将上面新编译出来的固件重新烧写到开发板上面,此时开发板上面的系统就支持SSH服务器了,接下来我们就通过SSHSecureShellClient-3.2.9软件登录到开发板。
SSHSecureShellClient-链接
首先给开发板设置一个密码,前面已经讲解过,使用passwd命令。
root@OpenWrt:/#passwd
Changingpasswordforroot
Newpassword:
Badpassword:tooweak
Retypepassword:
Passwordforrootchangedbyroot
root@OpenWrt:/#
首先输入passwd命令,然后输入密码,再重复输入一次密码。这样,我们的密码就设置成功了。
然后打开SSHSecureShellClient-3.2.9软件,界面如图4所示。
图4
图5
当弹出图5所示的窗口时,直接点OK即可。
图6
图7
图7所示界面,直接点Yes即可。
图8
在图8所示窗口中,输入通过passwd创建的密码。
图9登录成功
如果一切设置正常,就成功的登录上开发板了,如图9所示。这时,左边列出的是Windows系统的目录,右边列出的是开发板上系统的目录。这时,只需要左右两边拖动文件,就能互传文件了。
也可使用固件ssh.bin测。
9.3开发板Ubuntu传文件
9.3.1 准备工作
之前我们一直都是使用 ubuntu 完成 OpenWrt 的编译工作,然后通过 smb 服务器把固件拿到 Windows 里面去进行-,当然编译内核时这个是固定做法;但是后面涉及到其他部分比如驱动程序固件,应用程序固件,我们就不会说通过这种方式进行固件的-了(在ubuntu 中编译出固件,然后 smb 共享到 Windows,通过 ssh 软件共享到开发板进行使用),这样相对麻烦,我们可以通过 ssh 直接从 ubuntu -文件到开发板。
注意:ssh 必须有客户端和服务器,上一讲我们让开发板支持了 ssh 网络服务,同时ubuntu 也必须支持该服务才能彼此通信,开发板的 ssh 服务是 OpenWrt 内核运行后才可以实现的,所以内核固件是无法直接从 ubuntu -的,这点是需要说明的!
其实用 ssh 传文件图形化操作更方便,以下方法测试一下也可以的,艺多不压身!
好的,现在我们在虚拟机 ubuntu 中安装 ssh 网络服务(注意如果用我们提供镜像可以跳过安装 ssh):
sudo apt-get install openssh-server
安装后我们可以查看 ssh 网络服务的当前版本:
ssh –V
9.3.2开发板登录到 ubuntu 的 ssh 服务器中
登录的命令格式为:
ssh servername@serverip
其中 servername 是 ubuntu 的用户名,serverip 是 ubuntu 的 ip 地址。
比如我们登录到一个用户名为 f403tech 的 ubuntu 的 ssh 服务器中(能登录的大前提是可以相互 ping 得通):
好的,现在可以登录到 ubuntu 了。
接下来我们要从 ubuntu 上面-文件到开发板中,-方式很简单:
命令格式:scp 源(服务器目标文件路径) 目标(用户名@用户 ip :文件路径)
注意:要在超级用户模式下操作。
在后面的实验中,除了 OpenWrt 内核固件外,我们都是通过这样的方法从 ubuntu中获取文件的,所以务必掌握这一部分的知识,尤其是 scp 做-功能的时候。
当然 scp 还可以用来做文件的上传,这里我们带过讲解一下使用方法:
scp 源(用户名@用户 ip :文件路径) 目标文件路径
比如:scp root@192.168.10.1:/a.c /home/lf/
上传的后面我们几乎不会用到,理解就可以了,也是很简单的!
小贴士:
互传文件FileZilla
笔者习惯用FileZilla软件Ubuntu与Windows互传文件,这个操作更加简洁。
打开FileZilla,输入Ubuntu、用户名、密码等。进行连接可以互传文件。
图10
是不是很简单。
远程登录(必须在同一个网段)
打开putty,进行相关配置。
图11
登录开发板。
图12
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~