首页 » 随心所言 » kindle 3实现SFTP连接,摆脱USB传送文件

kindle 3实现SFTP连接,摆脱USB传送文件

10-10-14 16:21 23 发表评论 RSS 2.0

Kindle 3 可以说是目前市面上最优秀的电纸书了,而且还自带WIFI,但既然有了WIFI,却还要用USB线来传送文件,这点实在是不爽。当然也可以发送到amazon邮箱转送,但发来发去一样会烦,那么有什么办法解决吗?答案就是让kindle 3 支持SFTP,这样就简单了。

要实现SFTP就要越狱和其它操作,有一定的风险性,请考虑清楚再用,后果自负的。不过除非自己操作失误或人品问题, 风险其实也没那么严重。

1. 越狱,英文叫Jailbreak

到这个网页http://www.mobileread.com/forums/showthread.php?t=88004 下载最新版本的越狱文件, kindle-jailbreak-*.zip。解压后,目录下有一堆文件,是对应不同的 Kindle 版本的。[HOME] -> [MENU] > Settings 下可以看到序列号和MAC地址。

k3g = K3 3G US (序列号开头是B006)

k3w = K3 WiFi (序列号开头是B008)

k3gb = K3 3G UK (序列号开头是B00A)

我的kindle 3是B006开头的,所以使用 update_jailbreak_k3g_install.bin 文件。插上 K3 的 usb 线,把对应文件拷贝到 K3 的根目录下。然后在电脑上安全删除KINDLE连接,然后在 K3 上进行下列操作 [HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle。在升级过程中会显示有错误,错误码是U004,没有关系,这是正常的。K3会自动重启动。

这样第一步越狱就完成了,很简单吧,没想像中那么复杂的。

2. 安装 usbNetwork

还是这个网页http://www.mobileread.com/forums/showthread.php?t=88004 下载最新的usbnetwork文件, kindle-usbnetwork-*.N.zip。解压后,像上一步一样选择升级文件。序列号B006开头的kindle 3使用 update_usbnetwork_*.N_k3g_install.bin。同样插上usb线,复制到根目录,再安全删除kindle,然后按上面说的步骤进入升级。这次会显示升级成功,然后自动重启。

3. 修改 usbNetwork 配置

重启完毕之后,再次连接USB到电脑。Kindle 3 的根目录下会多出一个目录 usbnet,进入该目录,将 DISABLED_auto 文件名改为auto。再进入etc子目录,用windows上的记事本打开config文件。(注意下,用记事本打开,不要用写字板打开,这是UNIX格式的文本文件,不要修改成DOS格式。)只要把config文件里面两处false改成true,保存就行了。

K3_WIFI=”true”

K3_WIFI_SSHD_ONLY=”true”

4. 制作密钥

在kindle3上没办法用账号密码连接上SFTP的,所以只能用密钥来连接了,首先去这个网站http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载 puttygen.exe。

下载后运行该软件,点击 Generate,然后根据提示随机移动鼠标,这样就生成随机密钥了。

生成密钥后,新建一个文件名是 authorized_keys的文件,然后把 Public key for pasting into OpenSSH authorized_keys file 里面生成的文本粘贴到这个文件,然后再保存到 K3 的 usbnet/etc 目录下,这个是公钥。

然后点击软件的 save private key 按钮来保存私钥,自己定义一个名字,这个私钥后面的连接要用到,有需要的话,可以在Key Passpharse填写一个密码来保护私钥文件。

断开kindle 3 的USB连接,[HOME] -> [MENU] > Settings -> [MENU] > Restart,重启K3。

5. 查看你的 Kindle 3 的 IP 地址

先开启无线,连接上后显示 WiFi 图标后,[HOME] -> [MENU] > Settings,然后按键 alt+u, alt+q, alt+q输入711,这就是著名的 711 页面。在页面上半部分有 MAC 地址,下半部分显示有 IP Address。

如果不在k3里查看,可以进入到自己的无线路由器上查看,最好在DHCP里添加一个kindle 3的保留IP地址,这样自动分配IP就不会变了,其实K3自己也可以设置静态IP的。

6. 下载使用SCP 客户端

首先下载winscp的最新版本,http://winscp.net/download/winscp429.zip。解压后运行winscp。点击 New 按钮。

Host Name(主机名) 填写上一步得到的 IP 地址。

User Name(用户名)填 root。

Private Key File (密钥文件)选择步骤4保存的私钥文件。

Protocol (协议)选择 SFTP,旁边那个SCP反馈顺便选上。

再点左侧栏那个environment(环境),出来的右侧那里有个UTF-8 encoding for filenames(文件名UTF-8编码),选择on(开启),这一步是为了正常显示中文。

再点击左侧Directories(目录),右侧在Remote Directory(远程目录)中填写/mnt/us(这个文件夹就是用USB线连上去所看到的根目录),这步是为了方便连上后直接进入根目录。

最后点击 Save 按钮保存。

下次使用的时候,选中保存的配置,直接 login 就可以了。运行之后,左侧是电脑本地文件夹。右侧是 K3 文件夹。用过FTP软件就比较容易明白。

winscp 支持文件拖放,所以可以直接把要复制的文件从文件浏览器拖到winscp右侧的K3窗口就行了。

7. Kindle 文件库的刷新

复制到 /mnt/us/documents 下的文件 K3 不会自动检测到,所以需要一个刷新机制,否则每次传完之后需要重启。

用winSCP连上K3,进入usbnet目录,按鼠标右键 New -> File,文本中粘贴

dbus-send –system /default com.lab126.powerd.resuming int32:1

加一个回车,然后保存。自定义一个名字,比如 refreshitems。以后每次传完文件,执行这个文件K3 就能自动更新文件库。

为了更方便刷新,可以利用winSCP的自定义快捷按钮功能来创建刷新快捷键。选择 winSCP 菜单 [Option] -> [Preferences]。左侧点击 Commands,右侧点击Add按钮,Description 输入按钮的名字,比如Refresh Kindle‘s Items ;Custom command 输入刷新文件的全路径文件名,我的例子是 /mnt/us/usbnet/refreshitems,下面 Remote Command 需要选中,然后点OK即可。最后在菜单栏边上空白的地方,点击鼠标右键,勾上Custom Command Buttons,你就可以看到自定义的刷新按钮了。所有文件传送完之后,点击这个按钮即可刷新K3的文件了。

经过以上几个步骤,就可以摆脱USB线了,实现WIFI连接SFTP来传送文件了,插来插去实现是不爽。

另外如果想要用命令行登入 K3 进行危险操作的话,可以下载 putty.exe来连接上去,用同样的私钥建立SSH连接即可。这个不懂的就不要乱试了,kindle用的是LINUX系统来的。

标签:, , , , , ,

评论 共23条 (RSS 2.0) 发表评论

  1. ivan说道:

    很好,刚入的新机实践测试一下。

  2. manfred说道:

    怎么这么复杂的呀,算了,还是usb得了。。。。

  3. 桌游说道:

    第一次来访,不错的博客~

  4. 武建国说道:

    我的kindle3 的WIFI怎么都连不上怎么回事?

  5. Bill说道:

    winSCP连上K3,进入usbnet目录,按鼠标右键 New -> File,文本中粘贴 dbus-send –system /default com.lab126.powerd.resuming int32:1,加一个回车,然后保存。自定义一个名字,比如 refreshitems。以后每次传完文件,执行这个文件K3 就能自动更新文件库。

    上面都解决了, 就这里这个命令行执行错误,,

    能不能把那个命令行单独提出来,, 粘贴一下, 让我看清楚?。 谢谢。。 向后面的那个:1和,(逗号)都不知道是否加不加。。 哎。

    谢谢了。

  6. Bill说道:

    我是3.02版本的, 那个命令行提示错误如下:

    命令’/mnt/us/usbnet/billrek3′
    失败并返回1,错误信息
    failed to open connection to session message bus:Failed to execute dbus-launch to aubolaunch D-Bus session.

    请指教应该如何修改才能解决?。 就差这最后一步了。。。 就是不能更新,郁闷。

  7. Bill说道:

    解决了, 原来是少一个一个杠。。。

    具体代码如下:

    dbus-send –system /default com.lab126.powerd.resuming int32:1

    没有后面的逗号哦!

  8. onefull说道:

    安装jailbreak 最后提示成功,而非错误。
    重要事这个,运行scp,login,怎么会提示输入密码,而且密码root,空均不过。
    请教。。。谢谢

    • wincold说道:

      嗯,新版本的jailbreak安装是提示成功的;是不是哪个步骤弄错了?应该不会提示再输入密码的

  9. on,efull说道:

    重新搞了一遍,仍没有ok

  10. Nemo说道:

    最后一步,自定义刷新按钮,不成功,提示如下
    命令’/mnt/us/usbnet/billrek3′
    失败并返回1,错误信息
    failed to open connection to session message bus:Failed to execute dbus-launch to aubolaunch D-Bus session.

    按照下面回帖中的方法改过之后,还是不成功
    请指导,谢谢

    • wincold说道:

      重新复制文字试下,空格横线什么的没弄错应该没问题的
      dbus-send –system /default com.lab126.powerd.resuming int32:1

  11. Nemo说道:

    我完全复制的你贴上的这个命令,还是同样的反馈信息……

  12. Nemo说道:

    我知道了,那行命令不用放在某个文本里面,直接放在custom command里面就可以了

  13. chen2713说道:

    最后在菜单栏边上空白的地方,点击鼠标右键,勾上Custom Command Buttons,你就可以看到自定义的刷新按钮了
    在哪里的空白键啊?老大
    比如 refreshitems。以后每次传完文件,执行这个文件K3 就能自动更新文件库。
    怎么执行啊?

    • wincold说道:

      把鼠标移到菜单栏空白处,点击鼠标右键,会出来一些选项,选上Custom Command Buttons那个后,就会多了个你新建的名字按纽,执行就是点击了下那个名字

  14. wtong说道:

    /mnt/us/usbnet$ dbus-send –system /default com.lab126.powerd.resuming int32:

    命令是这样的! 关键在于 –system 是两个 – ,不是一个

  15. chenyu说道:

    无效啊,不管是俩个-还是一个-,都提示失败并返回1,这是怎么整

  16. kunvoice说道:

    为什么我到了第六步就进不去了,kindle 的IP是 192.168.1.102,我一切按照步骤走,login时就会出现:Network error Connection refused,可就是连不上。

  17. 经文说道:

    谢谢,很好用。上面有位朋友说连接scp的时候要输入密码,这个应该是公钥考到kindle 上的时候文件名不对,请检查authorized_keys文件名。

  18. lii说道:

    第一次错误004如期出现,但下步又是错误007,怎么回事啊。

回到页首