Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1689384
  • 博文数量: 206
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 2285
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 11:38
个人简介

学习永无止境!!

文章分类

全部博文(206)

文章存档

2022年(5)

2019年(3)

2018年(8)

2017年(32)

2016年(7)

2015年(13)

2014年(44)

2013年(24)

2011年(6)

2010年(17)

2009年(46)

2008年(1)

分类: 嵌入式

2013-11-04 11:42:31

当前的情况:

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] view plaincopy
  1. [openwrt@root files]$ vim dropbear.config  
  2.   1config dropbear  
  3.  2     option PasswordAuth 'on'  
  4.   3     option RootPasswordAuth 'on'  
  5.  4     option Port         '22'  
  6.  5     option Interface         'lan'  
  7.   6#   option BannerFile   '/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] view plaincopy
  1. 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架构)其他架构的目录名字不同。

重新编译下即可。

阅读(3404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~