diff --git a/package/gluon-config-mode/files/etc/init.d/gluon-config-mode b/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
index ca72a580bf2934f0f3c737e695c1c418d1757b65..b4f6c27ef51ad6de41e82bb9a183844076c9e2d2 100755
--- a/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
+++ b/package/gluon-config-mode/files/etc/init.d/gluon-config-mode
@@ -32,8 +32,9 @@ start() {
 		ip addr add $config_mode_addr/$config_mode_plen dev $config_mode_iface
 		ip link set up dev $config_mode_iface
 
+		/usr/sbin/telnetd -l /lib/gluon/config-mode/ash-login
+
 		/etc/init.d/haveged start
-		/etc/init.d/telnet start
 		/etc/init.d/dropbear start
 		/etc/init.d/uhttpd start
 		/etc/init.d/led start
diff --git a/package/gluon-config-mode/files/lib/gluon/config-mode/ash-login b/package/gluon-config-mode/files/lib/gluon/config-mode/ash-login
new file mode 100755
index 0000000000000000000000000000000000000000..3349c4445d2681fd92e76b06b7c3ebe7486dc4c5
--- /dev/null
+++ b/package/gluon-config-mode/files/lib/gluon/config-mode/ash-login
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /bin/ash --login