OpenWrt + SSH 刷机方法
如果要刷 U-Boot,则必须事先刷入解锁 u-boot 分区的 OpenWrt 固件。
准备工具:
PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
WinSCP: http://winscp.net/eng/download.php
PuTTY 可以作为 SSH 客户端,登录路由器的 Shell 环境,以执行各种命令。
WinSCP 是一个图形化的 SCP 协议 (基于 SSH 的文件传输协议) 客户端,用于本地和路由的文件传输。
设置 OpenWrt 管理密码 (root 密码):
只有设置了 root 密码,才能使用 SSH 协议工具。
如果已经设置了密码,请跳过这一步。
1. 在 LuCI 里设置管理员密码:
[系统] → [管理权]
2. 使用 telnet 登录路由设置密码
telnet 协议是一种类似于 SSH 的协议,只是它不经过加密,因此在外网环境中不太安全。
OpenWrt 只有在未设置 root 密码时,才能使用 telnet 协议。
PC [开始]→[所有程序]→[附件]→[命令提示符]
或
Win + R 组合键→输入 cmd→回车
输入 telnet <路由IP地址>
输入 passwd ,回车
输入两次密码,分别以回车结束。
注意:输入密码时,密码不会显示,直接输入即可。
使用 WinSCP 传输要刷入的文件 (以 U-Boot 为例):
打开 WinSCP
File Protocol 选择 SCP
Host name 填入路由器 IP 地址
User name 填入 root
Password 填入 root 的密码
单击 [Login]
如果是第一次使用 WinSCP 登录路由,那么 WinSCP 会弹出如下对话框:
其大意是第一次连接此主机,其 RSA 指纹 Key 未被登记,是否要信任此主机
这里单击 Yes,以确认信任此路由。
WinSCP 主界面
左侧切换到要上传的文件的目录
右侧切换到 /tmp 目录
选择 /tmp 目录的原因是:/tmp 目录挂载于内存中,而且容量较大,这样刷写固件时不会跟 Flash 产生冲突。
选择要上传的文件,右键菜单选择 [Upload]
直接单击 [OK] 继续
文件即可上传到路由中。
使用 PuTTY 登录路由:
打开 PuTTY
Host Name 填入路由器 IP 地址
Connection type 选择 SSH (默认)
单击 [Open]
跟 WinSCP 一样,如果是第一次使用 PuTTY 登录路由,那么会有如下提示:
单击 [Yes] 即可。
然后 PuTTY 会要求输入用户名和密码:
用户名填入 root
密码填入 root 密码。 这里一样在输入密码时不会显示。
如果用户名密码无误,就会进入 Shell 环境。
输入 cd /tmp 命令进入 /tmp 目录。
输入 mtd write <文件名> <mtd分区名> 命令以进行刷机操作
下图是以刷入 U-Boot 为例的:
有些教程会在 mtd 命令后加入 -r 参数,此参数的意思为刷写完成后立即重启路由
但这里不建议这么做,因为一旦刷机文件选错,这里还有补救的机会。
关于获取 MTD 分区名:
运行 cat /proc/mtd 命令即可查看
如果要刷 U-Boot,则必须事先刷入解锁 u-boot 分区的 OpenWrt 固件。
准备工具:
PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
WinSCP: http://winscp.net/eng/download.php
PuTTY 可以作为 SSH 客户端,登录路由器的 Shell 环境,以执行各种命令。
WinSCP 是一个图形化的 SCP 协议 (基于 SSH 的文件传输协议) 客户端,用于本地和路由的文件传输。
设置 OpenWrt 管理密码 (root 密码):
只有设置了 root 密码,才能使用 SSH 协议工具。
如果已经设置了密码,请跳过这一步。
1. 在 LuCI 里设置管理员密码:
[系统] → [管理权]
2. 使用 telnet 登录路由设置密码
telnet 协议是一种类似于 SSH 的协议,只是它不经过加密,因此在外网环境中不太安全。
OpenWrt 只有在未设置 root 密码时,才能使用 telnet 协议。
PC [开始]→[所有程序]→[附件]→[命令提示符]
或
Win + R 组合键→输入 cmd→回车
输入 telnet <路由IP地址>
输入 passwd ,回车
输入两次密码,分别以回车结束。
注意:输入密码时,密码不会显示,直接输入即可。
使用 WinSCP 传输要刷入的文件 (以 U-Boot 为例):
打开 WinSCP
File Protocol 选择 SCP
Host name 填入路由器 IP 地址
User name 填入 root
Password 填入 root 的密码
单击 [Login]
如果是第一次使用 WinSCP 登录路由,那么 WinSCP 会弹出如下对话框:
其大意是第一次连接此主机,其 RSA 指纹 Key 未被登记,是否要信任此主机
这里单击 Yes,以确认信任此路由。
WinSCP 主界面
左侧切换到要上传的文件的目录
右侧切换到 /tmp 目录
选择 /tmp 目录的原因是:/tmp 目录挂载于内存中,而且容量较大,这样刷写固件时不会跟 Flash 产生冲突。
选择要上传的文件,右键菜单选择 [Upload]
直接单击 [OK] 继续
文件即可上传到路由中。
使用 PuTTY 登录路由:
打开 PuTTY
Host Name 填入路由器 IP 地址
Connection type 选择 SSH (默认)
单击 [Open]
跟 WinSCP 一样,如果是第一次使用 PuTTY 登录路由,那么会有如下提示:
单击 [Yes] 即可。
然后 PuTTY 会要求输入用户名和密码:
用户名填入 root
密码填入 root 密码。 这里一样在输入密码时不会显示。
如果用户名密码无误,就会进入 Shell 环境。
输入 cd /tmp 命令进入 /tmp 目录。
输入 mtd write <文件名> <mtd分区名> 命令以进行刷机操作
下图是以刷入 U-Boot 为例的:
有些教程会在 mtd 命令后加入 -r 参数,此参数的意思为刷写完成后立即重启路由
但这里不建议这么做,因为一旦刷机文件选错,这里还有补救的机会。
关于获取 MTD 分区名:
运行 cat /proc/mtd 命令即可查看
本文转自灬落魄灬 51CTO博客,原文链接:http://blog.51cto.com/smoke520/1830775,如需转载请自行联系原作者