openwrt默认开机启动ssh的方法。
当前的情况:
Openwrt开机后不能用ssh直接连接,需要在页面上配置后才能连上,system->administration->SSH Access其实就是修改下接口为自己需要的接口,修改密码(密码不能为空)保存应用就行了。
注:openwrt默认开启telnet但是没开启ssh,当配置了用户名和密码后就默认开启ssh关闭了telnet。这时用telnet连接时会提示Login failed.。
解决过程:
主要分两步,第一步修改dropbear配置文件:
开始不知道这个修改是修改了什么配置文件,所以需要从luci页面开始查找。用grep命令查到。
在/usr/lib/lua/luci/model/cbi/admin_system/admin.lua。
如下图可以看出来,修改的是配置文件/etc/config/dropbear文件。
配置之后的
#vim /etc/config/dropbear。
配置之前(默认的),没有配置接口。
#vim /etc/config/dropbear。
到这里可以确定配置文件了,现在要做的就是修改openwrt编译环境中的文件,让openwrt编译出来的固件直接符合我们的要求。
Openwrt下的路径:package/network/services/dropbear/files/dropbear.config[plain]。
[openwrt@rootfiles]$vimdropbear.config。
1configdropbear。
2optionPasswordAuth'on'。
3optionRootPasswordAuth'on'。
4optionPort'22'。
5optionInterface'lan'。
6#optionBannerFile'/etc/banner'。
修改成如上
第二步:修改root密码
由于openwrt默认是没有密码的,所以ssh没法连接,只能连接telnet,我们只要做到让openwrt开启时就配置好密码就可以了!
让openwrt开机就有密码有两种方法:
1、 修改原有的shadow文件--------测试可行。
2、 用一条命令开机启动时就执行echo 密码 passwd root –stdin ---经测试此方法在一般linux里面支持,但是在busybox中的passwd不支持,出现如下错误。
然后修改/package/base-files/files/etc/shadow文件,将加密后的一行root的密码粘贴进此文件,密码为123456时,加密后应是:[plain]。
root:$1$BTkC8R/1$ZtNrYbhknXmNKGHDJCmJc1:15783:0:99999:7:::。
将这一行粘贴进shadow文件,openwrt开机后默认就是123456的密码了,telnet不可用,ssh默认开启。
最后删除/staging_dir/target-i386_uClibc-0.9.33.2/root-x86文件夹(我是要编译iso的所以是x86架构)其他架构的目录名字不同。
重新编译下即可。
出现访问文件密码错误原因如下:
1、共享文件设置了密码保护,非授权用户访问,默认需要密码确认,如果没有密码,就会报密码错误。
2、设置共享文件前,系统为了安全性,会要求用户设定系统登录密码,在访问共享文件的时候,输入登录密码,一般能否访问共享的文件。
因为你用的是官网的镜像,是没有安装luci的,你登录你的openwrt之后,输入下面命令,pkg update && opkg install luci,即可登录了。
OpenWrt可以被描述为一个嵌入式的Linux发行版。
(主流路由器固件有 dd-wrt,tomato,openwrt,padavan四类)对比一个单一的、静态的系统,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。
对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。
开发背景:
当Linksys释放 WRT54G/GS 的源码后,网上出现了很多不同版本的固件(Firmware)去增强原有的功能。大多数的Firmware都是99%使用Linksys的源码,只有1%是加上去的,每一种Firmware都是针对特定的市场而设计。
这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离Linux正式发行版越来越远。
1. 首先确认你的防火墙设置是否正确,比如你是否设置了正确的端口转发;
2. 检查你的路由器是否已经正确安装了openwrt系统;
3. 确认你的路由器的IP地址是否正确;
4. 检查你的路由器的防火墙设置是否正确,比如是否允许了外部访问;
5. 如果你使用的是一个虚拟机,确保你的虚拟机的网络设置是正确的;
6. 确认你的路由器和电脑之间的网络连接是否正常;
7. 尝试重启路由器;
8. 尝试使用不同的浏览器访问openwrt防火墙;
9. 检查你的安全软件,看看是否阻止了对openwrt防火墙的访问;
10. 尝试使用更新的openwrt系统;
如果是刚刷了OpenWrt的路由、是没有密码的、我们没有密码不能使用ssh登录或者winSCP、所以先设置密码、用网线连接路由LAN口与电脑。看看状态,确定一下是否连上,有没有自动DNSIP地址,DHCP是否启动。另外,WAN接口有三种方式,如果路由器前端设备已经完成了PPPOE拨号操作的话,路由器就没必要再拨号了,直接用动态IP地址或固定IP地址即可。