转帖来自:
http://www.irexreader.cn/bbs/viewthread.php?tid=695
在小i上建立了支持sftp的ssh服务器,使用winSCP很方便的拷贝
电子书 0.0.2版今天终于在小i上建立好了支持sftp服务的ssh服务器,直接可以用winSCP就可以方便的在pc/WindowsXP和iLiad/Linux之间拷贝文件了!!
一、缘起
在mobileread上的地址参考这里:
点此链接。这里楼主提供了一个软件包unbrickable,它提供了两个东西,第一就是dropbear,一个在嵌入式系统上常用的轻量级SSH服务器;第二,就是启动小i获取ip地址的功能(提供/etc/network/interfaces),我这里也提供了这个软件包,方便大家
下载使用。
在上次我写自己的实践经验的时候,当时仅仅是需要使用ssh进入小i的系统,了解它的整个系统,经过这段时间,我发现她还缺少一些实用的功能:
1,它要求在开启小i之前就把网络连接好,如果在使用过程中想连接网络,小i的界面上是没有入口的,必须启动mrxvt,使用命令/etc/init.d/networking restart,这比较麻烦。
2,这个软件包中提供的dropbear,仅仅允许远端的ssh client工具(比如putty, secureCRT, ssh)登陆进入小i的系统,而不能使用scp拷贝任何文件,因为它缺少了一个重要的文件没有提供,dbclient,这才导致了无法使用它,无论是通过ssh进入小i中使用scp,还是在linux系统中使用scp。
我在使用过程中发现这是非常不方便的。如果想要增加一些电子书,必须把sd/cf/usb拔下来,再通过读卡器连接到pc上,费时费力,所以,能通过一个图形化的工具直接在小i和pc上进行相互操作,是一个有价值的需求。
二、解决方案
对于第一个问题,解决的方法就是提供一个在小i界面上操作的入口,可以随时打开/关闭网络;对于第二个问题,就需要再配置额外的软件来解决了。
在上一节提到的mobileread的那个链接第4页上有相关的讨论,首先是一个sshd软件包,这个可以解决第一个问题,而后面的讨论如何使用winSCP,以及它不能使用sftp服务的方面,是不正确的,而且内容混乱。我根据它做了实践,并且又参考了别的内容,下面是我的解决方法。
对于这个sshd包,我做了修改,删除了一些不需要的文件,修改名称以便更适合它的功能,就是附件中的network-switcher_iLiad_0.0.1_leoc.zip。
要注意的是,我测试了有线连接是可以的,但并没有测试无线连接,因为第一,我没有设备;第二,控制无线连接需要修改其中的文件,这在上面提到的mobileread链接上也有说明,软件包制作者无法预先提供的(除非做一些额外的工作,以后有时间再完善这个软件包)。
对于第二个问题,就要安装附件中的dropbear_0.49_iLiad_0.0.1_leoc.zip了。
这个软件包是我制作的,但不是开发的(有现成的就用,能不从头开发就不做,我向来这么看的)。我在网上找到一个单独的dropbear的ipkg包,和一个编译过的sftp-server,查看了如何让dropbear支持sftp,最后把它们制作成一个软件包,而且反复测试过了。它提供了dbclient,和一个更新的dropbear,以便代替unbrickable中的dropbear,更提供了一个sftp服务器,可以允许winSCP通过sftp协议连接小i。
用过winSCP的朋友会问为什么不用SCP协议呢,因为SCP协议不支持传送中文名称的文件。
安装的顺序上,要先安装unbrickable,然后安装dropbear_0.49_iLiad_0.0.1,然后network-switcher_iLiad_0.0.1就能用了,它不用安装,解压缩后放到cf/sd/usb一个你方便的位置上就可以用了。(可以只保留软件包的名称,去掉后面的版本,比如dropbear, network-switcher)
三、操作步骤
1,准备好sd/cf/usb硬件设备,暂时还需要用读卡器把unbrickable, network-switcher和dropbear_0.49_iLiad解压拷贝到sd/cf/usb上。
2,先安装unbrickable,再安装dropbear。
3,配置小i的网络正常。测试network-switcher是否有用(在有线连接的情况下)。启动wired连接,可以用ssh client登陆试一下,操作在下面。
4,使用ssh client工具登陆小i,我用的是putty,使用用户名“root”,密码默认为“rootme”。修改root密码,这里涉及一个Linux命令passwd,而且小i中还缺少/etc/shadow文件,要先新建一个,再运行passwd修改root密码。注意:在输入密码的时候不会显示“*”的。见图示:
5,下载并安装winSCP,目前最新的是4.16版本。
6,设置winSCP,见图示。这里涉及使用winSCP的事情,大家可以多设置一些有用的选项,比如在“环境”-“目录”上的“保存上次使用的目录”,像sftp协议的设置,默认的就行了。
设置好后的初始界面
新建的回话,密钥文件不用填,协议选择sftp
一定要设置文件名UTF-8编码为开启
开始连接,等待输入小i上的root密码
连接成功后的界面显示
正确显示了中文名,而且从pc拷贝中文名称的文件到小i上后,小i上也能正常显示
好了,现在就可以很方便的向小i上传电子书了。Enjoy it!
dropbear_0.49_iLiad_0.0.1_leoc.zip (117.82 KB)
network-switcher_iLiad_0.0.1_leoc.zip (9.18 KB)
unbrickableinst.zip (97.54 KB)
[
本帖最后由 掌间小斑 于 2008-9-6 13:08 编辑 ]