[W701V] Pseudo Image für für SSH/Dropbear

Spiralnebel

Neuer User
Mitglied seit
9 Feb 2007
Beiträge
60
Punkte für Reaktionen
0
Punkte
0
:) hallo zusammen701

8) ich würde gerne ausschließlich einen ssh zugang
auf meinem speedport w701v einrichten und habe mir
folgendes script zusammengeastelt.

;) zusätzlich soll statt einem festen root pw der login
für's webinterface benutzt werden

:) könntet ihr bitte mal gegenlesen ob so alles passt...
Code:
#!/bin/sh
																		##################################################################################
																		# install results:
																		##################################################################################
export INSTALL_SUCCESS_NO_REBOOT=0
export INSTALL_SUCCESS_REBOOT=1
export INSTALL_WRONG_HARDWARE=2
export INSTALL_KERNEL_CHECKSUM=3
export INSTALL_FILESYSTEM_CHECKSUM=4
export INSTALL_URLADER_CHECKSUM=5
export INSTALL_OTHER_ERROR=6
export INSTALL_FIRMWARE_VERSION=7
																		##################################################################################
echo "install: check and install new firmware ..."
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led  ] ; then
  LED_DEVICE=/var/led
  echo "set led: ${LED_DEVICE}"
fi
																		##################################################################################
																		# start info led flashing
																		##################################################################################
echo "set INFO led to blink (modul=7, state=4)"
echo 7,4 > ${LED_DEVICE}
cat > /var/tmp/debug.cfg << 'EOF'
#!/bin/sh
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led  ] ; then
  LED_DEVICE=/var/led
  echo "set led: ${LED_DEVICE}"
fi
																		# start internet phone led flashing
echo "set internet phone led to blink (modul=14, state=3)"
echo 14,3 > ${LED_DEVICE}
																		# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
  KERNEL_VERSION="linux24"
										#  ETHERWAKE="etherwake"
else
  KERNEL_VERSION="linux26"
										#  ETHERWAKE="ether-wake"
fi
																		# init busybox var
BUSYBOX="/bin/busybox"
																		# wait to be able to interrupt in case of emergency
sleep 120
																		# load SSH-Server (dropbear) and etherwake
																		# CONFIGURATION
																		# SSH
																		# port
dropbearport="22"
																		# password
PASSWD="$(cat /sbin/ar7login)"
										# PASSWD='$1$cGcfV2hF$XNhsKbVbby5W4BFCT7KST1'
																		# Etherwake
																		# MAC address
										# wolmac=""
																		# interface to use for WOL
																		# intf = std  - ata
																		# eth0 = LAN1 - WAN
																		# eth1 = LAN2 - LAN1
										# wolinterface="eth0"
																		# CONFIGURATION END
																		# try to load files from USB drive
										# for f in /var/media/ftp/*
										# do
										#  if [ -f ${f}/files/${KERNEL_VERSION}/dropbear ]
										#  then
										#    echo "${f}/files/${KERNEL_VERSION}/dropbear"
										#    cp ${f}/files/${KERNEL_VERSION}/dropbear /var/tmp/dropbear
										#  fi
										# done
																		# check if file already exists
if [ ! -f /var/tmp/dropbear ]
then
  																		# wait for server
  while !(ping -c 1 ftp.the-construct.com)
  do
    sleep 5
  done
  																		# load files
  wget -qO /var/tmp/dropbear http://ftp.the-construct.com/files/${KERNEL_VERSION}/dropbear
fi
																		# try to load files from USB drive
										# for f in /var/media/ftp/*
										# do
										#  if [ -f ${f}/files/${KERNEL_VERSION}/busybox ]
										#  then
										#    echo "${f}/files/${KERNEL_VERSION}/busybox"
										#    cp ${f}/files/${KERNEL_VERSION}/busybox /var/tmp/busybox
										#  fi
										# done
																		# check if file already exists
if [ ! -f /var/tmp/busybox ]
then
  																		# wait for server
  while !(ping -c 1 ftp.the-construct.com)
  do
    sleep 5
  done
  																		# load files
  wget -qO /var/tmp/busybox http://ftp.the-construct.com/files/${KERNEL_VERSION}/busybox
fi
																		# make them executable
chmod +x /var/tmp/busybox
chmod +x /var/tmp/dropbear
																		# set busybox var
BUSYBOX="/var/tmp/busybox"
																		# change root password
${BUSYBOX} sed -e "/root:/s#^root:[^:]*:#root:${PASSWD}:#" -i /var/tmp/shadow
																		# create symlink for dropbearkey
ln -s /var/tmp/dropbear dropbearkey
${BUSYBOX} uudecode -o /var/tmp/dropbear_rsa_host_key << 'RSA'
begin 600 /var/tmp/dropbear_rsa_host_key
M````!W-S:"UR<V$````#`0`!````@P"$,4,/ZQ1P=Q42(>M0/'EHB(YX+PMX
M^K7E:FQ](0CG?/CD11]XL0L,YOJX2MORR+]1^T)R[?>-Z&HC/F]F,M]K5L1G
MO)G"_]EE]D^N\T(WJLF6+=\+0EX>06YC9<,X.4+Z-:S(28(YV:>3M/XNSM)5
M03>]P&,7"495]R,-FFA4KKVQ````@@"BYF<VO:PR73=V?4?:`QVV20-()92]
MLJA)W#A4^F>P:I\2YJFO[9BWF\^&!($54B(Y,N$:E5`0B-"T<QB-)H=6MB2*
M$:SK4`Q$GI5@U\T:%EL)52R8^/,Y"@TT]:LE>>X4FDIMHBA^`!7O>JRHP!J!
M:E]U*]]E<[8%0\G\>P4[=H$```!"`(9#J[=*.:*6R&`:'T>9Z,Q'SK;29:,6
M/1?>-O&;K/(WT[8T7<8JR5%J<?ZR+K6:1H7QG2'DP$]S[[79!=^FABPA````
M0@#\#*T\=S2\T9%V??:=1=Z]S")"H1O:+KJ00%5#+9*Y"*.U(V.FK91T:QZ2
6B[BK^8/ZC.L^!^1CA_.<$4]9@E_?D0``
`
end
RSA
${BUSYBOX} uudecode -o /var/tmp/dropbear_dss_host_key << 'DSS'
begin 600 /var/tmp/dropbear_dss_host_key
M````!W-S:"UD<W,```"!`,5/K;Z]%;6-W9(:@(EJ\9Y.1VY'][$9J)-OJI\)
MWZ9.Q;1(+7-!HHR7ZVY'M[`9L("TZ=Z@1--1OAXGIYO<42%]4>,>+$VPZ\_L
M,5^E5VR&"471%J\\2PL#-SN'CI-)__C^*8@)0B@OS4`_B4B*8$A4B556+XDF
MZ-!#![@QMX>Q````%0"W/)ZH!Y8](I3^BH$B=<J7#&@K'0```($`HJ25`9#J
MBL<.;X;8?$A@T]7%)LU2(L."20-CO-\I`[3!<;2D5/B4QZ*9QU\+&H&48=%D
M;O_74O>[,ECTF@6.!M4O.EVB.]YPEZM[?U`RSREM1])QDK>@G\T>Z`CGSH(#
MCRFH";\W'X&H>.#U75JN)!-IO:/9BI4<<:\+`U2F#T````"`>$Q<E%W]&)(!
MET;P*>H>`6U],/DAQU[G9+GZ/JYE)`_7\@U00L($C'=[<I"2:_.ZT-K:[WD\
MY?JRZ<Q-.-]`2F",&UTDGNF\Z*5'TO-3.>?!UY)H:QK&@EOZ(,V()':'-K\<
M"T4P](V4WX,MHI<"V71<]L9_QD,623#&[":OQ/T````4/?LO;CFO>3*0>H?I
(.CK<W[_'$=``
`
end
DSS
																		# start dropbear
sleep 60
/var/tmp/dropbear -p ${dropbearport} -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key
																		# create simplified WOL script
										# echo "${BUSYBOX} ${ETHERWAKE} -i ${wolinterface} ${wolmac}" > /var/tmp/startpc
																		# make it executable
										# chmod +x /var/tmp/startpc
																		# stop internet phone led flashing
echo 14,1 > ${LED_DEVICE}
EOF
																		# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
																		# delete /var/tmp/debug.cfg
rm /var/tmp/debug.cfg
																		# reboot
exit $INSTALL_SUCCESS_REBOOT
																		# (c) 2006 Andreas Baginski

8) die frage ist halt ob man zum einen einfach so die zeilen
die für etherwake & usb zuständig sind auskommentieren kann
und das ssh pw mit dieser kommando substitution setzen kann.

;) desweiteren frage ich mich warum 2 mal auf eine bereits
installierte busybox geprüft und ggf. installiert wird.

:) würde mich über hilfe freuen

LG Spiralnebel
 
ich würde es einfach mal ausprobieren, aufällig falsch kommt mir nichts vor.
 
:) okay - danke für's drübergucken

;) die sache ist,daß ich nur diesen einen router hier habe
und nicht genau weiß wie ich's wieder gerade bügeln kann
falls was in die buchse geht, da ich,so wie es aussieht,den
telnet nicht übers phone aktiviert bekomme und ich nicht
umbedingt das telnet-pseudo-image einspielen mag,wenn
man ihn dann nicht wieder deaktivieren kann.

:) nen tip was ich machen kann falls es nicht klappt?

lg & danke im vorraus
 
FTP. oder recover geht ja immer.
Und bei speedtofritz nachelsen, die problematik ist ja nicht neu.
Es sind gepatchte recover im umlauf damit kommst auf jeden fall mal wieder Zugriff auf dei box.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.