首页 > 代码库 > OpenWrt telnetd开启,需要密码和不需要密码的配置

OpenWrt telnetd开启,需要密码和不需要密码的配置

一般情况我们是直接使用ssh的,这个是dropbear采用的方式;其余的情况呢,我们采用的是telnetd,这个

1. 开启telnet需要修改login.sh脚本。 init.d脚本


telnetd -l /bin/ash 无需密码,直接登录

2. 开启密码登录需要其他的支持。login程序。


telnetd -l /bin/login.sh


修改login.sh

weedsdeMacBook-Pro:bin weeds$ cat login.sh 

#!/bin/sh

# Copyright (C) 2006-2011 OpenWrt.org


cat << EOF

 === IMPORTANT ============================

  Use ‘passwd‘ to set your login password

  this will disable telnet and enable SSH

 ------------------------------------------

EOF


exec /bin/login


设置开机默认启动telnet (/etc/init.d/telnet)

weedsdeMacBook-Pro:files weeds$ cat telnet 

#!/bin/sh /etc/rc.common

# Copyright (C) 2006-2011 OpenWrt.org


START=50


has_root_pwd() {

local pwd=$([ -f "$1" ] && cat "$1")

      pwd="${pwd#*root:}"

      pwd="${pwd%%:*}"


test -n "${pwd#[\!x]}"

}


get_root_home() {

local homedir=$([ -f "$1" ] && cat "$1")

homedir="${homedir#*:*:0:0:*:}"


echo "${homedir%%:*}"

}


has_ssh_pubkey() {

( /etc/init.d/dropbear enabled 2> /dev/null && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \

( /etc/init.d/sshd enabled 2> /dev/null && grep -qs "^ssh-" "$(get_root_home /etc/passwd)"/.ssh/authorized_keys )

}


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

}


stop() {

service_stop /usr/sbin/telnetd

}



OpenWrt telnetd开启,需要密码和不需要密码的配置