openwrt下让telnetl与ssh(dropbear)共存

 

感谢文字作者,标注转载出处:http://www.07net01.com/2015/07/884509.html

我使用的CC15.05   原创作者的版本我不清楚

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

步骤一
修改/etc/init.d/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
}

 

/******************CC15.05版本****************************

start_service() {
#    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
        procd_open_instance
        procd_set_param command "$PROG" -F -l /bin/login.sh
        procd_close_instance
#    fi
}

/****************CC15.05***************************

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

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

/****************CC15.05修改如下************************

#!/bin/sh
# Copyright (C) 2006-2011 OpenWrt.org

#if ( ! grep -qsE '^root:[!x]?:' /etc/shadow || \
#     ! grep -qsE '^root:[!x]?:' /etc/passwd ) && \
#   [ -z "$FAILSAFE" ]
#then
#    echo "Login failed."
#    exit 0
#else
#cat << EOF
# === IMPORTANT ============================
#  Use 'passwd' to set your login password
#  this will disable telnet and enable SSH
# ------------------------------------------
#EOF
#fi

exec /bin/ash --login

/****************CC15.05***************************

 

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值