1. Zuerst erzeugt man mit ssh-keygen einmalig die Schlüssel:
1 2 3 4 5 6 7 8 9 10 11 |
# Bitte passende Version wählen: ### Für mipsel-Fritz!Boxen (z.B. 7270, 7170 und andere): ### SSH_KEYGEN=mipsel/ssh-keygen_v6.2p1_mipsel ### Für mips-Fritz!Boxen (z.B. 7390, 7340 und andere): ### # SSH_KEYGEN=mips/ssh-keygen_v6.2p1_mips cd /var/tmp wget -O ssh-keygen https://fritzmod.net/download/$SSH_KEYGEN chmod +x ./ssh-keygen ./ssh-keygen # passphrase leer lassen! |
Die Ausgabe von ssh-keygen folgend ausfüllen:
1 2 3 4 5 6 7 8 9 10 11 |
# ACHTUNG an alle die diesen und den folgenden Code vor dem 14.05.2014 kopiert haben: # es wurden die Dateinamen angepasst, um gleichen default-namen wie in anderen Linux-Systemen # zu haben. Ab hier wurde das alte is_rsa und is_rsa.pub durch id_rsa und id_rsa.pub ersetzt. Generating public/private rsa key pair. Enter file in which to save the key (/mod/root/.ssh/id_rsa): /var/tmp/id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/tmp/id_rsa. Your public key has been saved in /var/tmp/id_rsa.pub. [Andere Ausgaben] |
id_rsa ist der private Schlüssel und wird auf jeden Client in ~/.ssh/ kopiert.
id_rsa.pub ist der öffentliche Schlüssel. Dieser wird auch in $HDD_ABSOLUT/ssh/ oder auf einem FTP-Server mit Passwordschutz abgelegt und muss nach „authorized_keys“ kopiert werden:
1 2 3 4 5 |
TEMP=/var/tmp mkdir $TEMP/.ssh chmod 600 $TEMP cat id_rsa.pub > $TEMP/.ssh/authorized_keys |
2. Schlüssendlich muss das Home-Verzeichnis für root auf /var/tmp geändert werden:
1 2 3 4 5 |
TEMP=/var/tmp cp -p $TEMP/passwd $TEMP/passwd.old $TEMP/busybox sed -e "/root:/s#:/:#:/var/tmp:#" /var/tmp/passwd.old > /var/tmp/passwd rm $TEMP/passwd.old |
3. Nun kann man wie gewohnt dropbear starten:
1 |
/var/tmp/dropbear -p 22 -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key |
Wenn man die Password-Authentifizierung verhindern möchte, fügt man noch „-s“ an:
1 |
/var/tmp/dropbear -p 22 -s -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key |
4. Besonderheit: Wenn es bei der 7390 (84.06.03) dazu kommt, dass das ganze nicht ohne Passwort klappt, könnten dies gewisse Timingprobleme sein.
LÖSUNG: Den Befehl „chmod 600 $TEMP“ hinter den Start von dropbear verschieben, und zuvor noch ein sleep 60.
Dies hat zwar die Folge, dass die debug.cfg kurz mit der Ausführung stoppt, wer jedoch sich dringend anmelden muss, der kann sich immer noch schnell, sofern Password-Authentifizierung nicht ausgeschaltet ist, mittel Passwort anmelden. (ergänzt 13.Mai 2014)
1 2 3 4 5 6 7 |
/var/tmp/dropbear -p 22 -s -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key oder /var/tmp/dropbear -p 22 -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key sleep 60 chmod 600 $TEMP |
Code für Fritz!Boxen mit USB-Speicher
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
HDD='Hitachi-HTS543216L9A300-01' # ACHTUNG: unbedingt anpassen! HDD_ABSOLUT='/var/media/ftp/'$HDD PASSWD='meinPassword' TEMP=/var/tmp while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done cd $TEMP cp $HDD_ABSOLUT/ssh/busybox1.9.0 $TEMP/busybox cp $HDD_ABSOLUT/ssh/dropbearmulti $TEMP cp $HDD_ABSOLUT/ssh/dropbear+sftp-server.diff $TEMP cp $HDD_ABSOLUT/ssh/sftp-server $TEMP cp $HDD_ABSOLUT/ssh/dropbear_rsa_host_key $TEMP cp $HDD_ABSOLUT/ssh/dropbear_dss_host_key $TEMP chmod +x busybox chmod +x sftp-server chmod +x dropbearmulti $TEMP/busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow ln -s $TEMP/dropbearmulti dropbear # public key Erweiterung: mkdir $TEMP/.ssh chmod 600 $TEMP # diese Zeile komplett entfernen wenn chmod unten auskommentiert wurde cat $HDD_ABSOLUT/ssh/id_rsa.pub > $TEMP/.ssh/authorized_keys cp -p $TEMP/passwd $TEMP/passwd.old $TEMP/busybox sed -e "/root:/s#:/:#:/var/tmp:#" /var/tmp/passwd.old > /var/tmp/passwd rm $TEMP/passwd.old $TEMP/dropbear -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key # folgendes bei Bedarf auskommentieren # sleep 60 # chmod 600 $TEMP |
Code für Fritz!Boxen ohne USB-Speicher
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
DOWNLOADPAGE='https://fritzmod.net/download/7170' PASSWD='meinPassword' TEMP=/var/tmp while !(ping -c 1 www.google.de); do sleep 5; done cd $TEMP wget $DOWNLOADPAGE/busybox1.9.0 wget $DOWNLOADPAGE/dropbearmulti wget $DOWNLOADPAGE/dropbear+sftp-server.diff wget $DOWNLOADPAGE/sftp-server wget [deinFTPmitLoginUndPasswort]/dropbear_rsa_host_key wget [deinFTPmitLoginUndPasswort]/dropbear_dss_host_key chmod +x busybox1.9.0 chmod +x sftp-server chmod +x dropbearmulti $TEMP/busybox1.9.0 sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow ln -s $TEMP/dropbearmulti dropbear # public key Erweiterung: wget [deinFTPmitLoginUndPasswort]/id_rsa.pub mkdir $TEMP/.ssh chmod 600 $TEMP # diese Zeile komplett entfernen wenn chmod unten auskommentiert wurde cat ./id_rsa.pub > $TEMP/.ssh/authorized_keys cp -p $TEMP/passwd $TEMP/passwd.old $TEMP/busybox sed -e "/root:/s#:/:#:/var/tmp:#" /var/tmp/passwd.old > /var/tmp/passwd rm $TEMP/passwd.old $TEMP/dropbear -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key # folgendes bei Bedarf auskommentieren # sleep 60 # chmod 600 $TEMP |