openwrt下让telnetl与ssh(dropbear)共存

当前状况
openwrt中默认用户名为root,但是默认是没有密码的,所以ssh默认不开启,但是telnet是在无密码情况下使用的,当设置了root的密码,则ssh开启,telnet关闭。而ssh的方便性又大于telnet,telnet在产品产测的情况下又要使用,所以有没有什么方法可以让二者共存呢?

步骤一
修改telnet自启动脚本,删除对密码和ssh相关的判断,如下注释

start() {
#   if ( ! has_ssh_pubkey && \
#        ! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \
#      ( ! /etc/init.d/dropbear enabled 2> /dev/null && ! /etc/init.d/sshd enabled 2> /dev/null );
#   then
        service_start /usr/sbin/telnetd -l /bin/login.sh
#   fi
}

这样在执行/etc/init.d/telnet restart就可以启动telnet了,但是会发现连接的时候提示Login faild

步骤二
上面的连接错误提示是出现在/bin/login.sh脚本中,打开这个文件,删除相关的判断即可。最后就留一行exec那行。
如果需要连接telnet时登录用户名密码,就把最后一行修改成下面

exec /bin/login

另外,默认让固件默认启用ssh,设置固件的默认密码方法看博文:
http://blog.csdn.net/jk110333/article/details/8814675

你可能感兴趣的:(Openwrt&路由器)