SSH nachinstallieren / Ohne Freetz

hallo, busybox und dropbear (ssh und sftp) und viele anleitungen fidest du auf meiner homepage (siehe signatur)

gruß
 
Hallo radislav, der Thread ist zwar schon älter, aber ich hoffe du bist noch aktiv hier.
Ich bin dabei SSH auf der Fritzbox 7390 zu nach deiner Homepage zu installieren. Die Installation funktioniert soweit über das root Passwort.
Jetzt mein Problem: Ich möchte mich jetzt aber nicht über dieses Passwort verbinden, sondern über einen private und public key.
Wie kann ich die Anleitung modifizieren, um dort quasi den public key einzutragen/laden (authorized_keys)?
Ich hoffe du kannst mir helfen.
Gruß Matthias
 
Dafür muss zunächst einmal in /etc/passwd ein beschreibbares Home-Verzeichnis für den Benutzer eingetragen werden. Darunter muss dann eine Datei mit den publik Keys .ssh/authorized_keys abgelegt werden.
So in der Art:
Code:
sed -i -e 's,^root:.*$,root:x:0:0:root:/var/root:/bin/sh,g' /var/tmp/passwd
mkdir -p /var/root/.ssh
cat << EOF > /var/root/.ssh/authorized_keys
ssh-rsa AAAAB... key1
ssh-rsa AAAAB... key2
EOF
 
Danke für die Antwort. Kannst du mir das mal bitte erklären. Ab der 2. Zeile komme ich mit, es wird ein verzeichnis erstellt in der dann die authorized_keys erzeugt wird, in der dann die keys gespeichert werden. Aber was macht die 1. Zeile?

Wie gesagt ich hab schon ein fertigen file passwd in der quasi das steht:
root:[key]:0:0:root:/:/bin/sh
boxusr80:any:1080:0:box user:/home-not-used:/bin/sh

Und dann hab ich schone eine fertige authorized_keys:
ssh-rsa AAAAB...... rsa-key-[datum]

Gruß Matthias
 
das mit der Zeile 1 würde mich auch interessieren- was genau da passiert ....."Dafür muss zunächst einmal in /etc/passwd ein beschreibbares Home-Verzeichnis für den Benutzer eingetragen werden. Darunter muss dann eine Datei mit den publik Keys .ssh/authorized_keys abgelegt werden." .......

Wäre für eine kurze Erläuterungebenfalls dankbar
 
Jeder Benutzer hat ein Home-Directory, sozusagen sein persönliches Verzeichnis. Dieses wird in der /etc/passwd als vorletztes Feld gespeichert. Die einzelnen Felder werden durch Doppelpunkte getrennt. In dem Eintrag hier
Code:
root:[key]:0:0:root:[B]/[/B]:/bin/sh
ist das Home-Directory "/", also das Hauptverzeichnis. Das ist normal nicht weiter verkehrt, aber wir müssen unterhalb dieses Verzeichnisses ein Verzeichnis ".ssh" anlegen. Das funktioniert auf der Box aber nicht, weil nur der Bereich unterhalb /var beschreibbar ist. Also ändert die erste Zeile mit sed die passwd Datei so ab:
Code:
root:x:0:0:root:[B]/var/root[/B]:/bin/sh
Das ist gemeint mit "Dafür muss zunächst einmal in /etc/passwd ein beschreibbares Home-Verzeichnis für den Benutzer eingetragen werden."

Wenn Du allerdings das Passwort in der passwd Datei hast und nicht in /etc/shadow, dann musst Du das "x" im zweiten Feld durch das Passwort ersetzen. Da Du das Passwort schon in der Datei /etc/passwd drin hast, kannst Du die Stelle, die jetzt die passwd ändert, so anpassen, dass in der passwd auch gleich das Verzeichnis geändert wird.
 
super danke, habs kapiert.
hab es jetzt auch hinbekommen. aber was ich festgestellt habe, es geht beides. Das heißt ich kann mich über public und private key anmelden, aber auch über das root passwort. Ich möchte aber das nur public und private key funktioniert. Wo muss ich da beim dropbear aufruf was ändern?
ln -s /var/tmp/dropbearmulti /var/tmp/dropbear
/var/tmp/dropbear -p 22 -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key
Ich geh mal stark davon aus, das es was mit dem -p zu tun hat, oder?
gruß matthias
 
super danke, habs kapiert.
..., aber auch über das root passwort. Ich möchte aber das nur public und private key funktioniert. Wo muss ich da beim dropbear aufruf was ändern?
...
Ich geh mal stark davon aus, das es was mit dem -p zu tun hat, oder?
Die Manpage für dropbear sagt Folgendes:
Code:
[B]-s[/B]
Disable password logins.[B]

-g[/B]
Disable password logins for root.

Code:
[B]-p [I][address:]port[/I][/B]
Listen on specified [I]address[/I] and TCP [I]port.[/I] If just a port is given listen on all addresses. up to 10 can be specified (default 22 if none specified).
 
super danke. jetzt funktioniert alles.

Mfg Matthias
 
So, nach einer Anfrage poste ich mal meine debug.cfg für alle die das gleiche Problem haben (getestet mit FritzBox7390 FW 84.05.05)

Code:
HDDPFAD='/var/media/ftp/dropbear7390'
PASSWD='dein passwort'		#http://radislav.dyndns.org/index.php?site=Fritzbox/TipsAndTricks/crypt.php
TEMP='/var/tmp'

# Dropbear kopieren
cp $HDDPFAD/dropbearmulti $TEMP/dropbearmulti
chmod +x $TEMP/dropbearmulti

# existierende Keys laden
cp $HDDPFAD/dropbear_rsa_host_key $TEMP/dropbear_rsa_host_key
cp $HDDPFAD/dropbear_dss_host_key $TEMP/dropbear_dss_host_key

ln -s $TEMP/dropbearmulti $TEMP/dropbear

# Root Passwort setzen, SSH Modus setzen (PW oder public/private key)
# Variante 1: FritzBox ist über ein Passwort zugänglich
#             busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow
#             $TEMP/dropbear -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key	# Dropbear starten
# Variante 2: FritzBox ist nur über public und private key zugänglich
#             busybox sed -i -e 's,^root:.*$,root:$PASSWD:0:0:root:/var/root:/bin/sh,g' $TEMP/passwd
#             mkdir -p /var/root/.ssh
#             cp $HDDPFAD/authorized_keys /var/root/.ssh/authorized_keys
#             $TEMP/dropbear -s -g -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key	# Dropbear starten

# Variante 2 gewählt
busybox sed -i -e 's,^root:.*$,root:$PASSWD:0:0:root:/var/root:/bin/sh,g' $TEMP/passwd
mkdir -p /var/root/.ssh
cp $HDDPFAD/authorized_keys /var/root/.ssh/authorized_keys
$TEMP/dropbear -s -g -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key	# Dropbear starten

Mfg
Matthias
 
Hallo, habe versucht gemäss Anleitung von radislav dropbear zu installieren.
Sobald ich aber Punkt 16 ausführe bekomme ich folgende Fehlermeldung: Bus error.

Hat jemand eine Idee was ich falsch mache, oder kann mir weiterhelfen?


Code:
 1 HDD='Hitachi-HTS543216L9A300-01'     # ACHTUNG: unbedingt anpassen!
 2 HDD_ABSOLUT='/var/media/ftp/'$HDD
 3 PASSWD='meinPassword'
 4 TEMP=/var/tmp

 5 while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done 

 6 cd $TEMP
 7 cp $HDD_ABSOLUT/ssh/busybox $TEMP/busybox
 8 cp $HDD_ABSOLUT/ssh/dropbearmulti $TEMP
 9 cp $HDD_ABSOLUT/ssh/sftp-server $TEMP
10 chmod +x busybox
11 chmod +x sftp-server
12 chmod +x dropbearmulti
13 $TEMP/busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow
14 ln -s $TEMP/dropbearmulti dropbearkey
15 ln -s $TEMP/dropbearmulti dropbear
16 $TEMP/dropbearkey -t rsa -f dropbear_rsa_host_key
17 $TEMP/dropbearkey -t dss -f dropbear_dss_host_key
18 $TEMP/dropbear -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key

gruss aline
 
Zwei Punkte:
Sicher die richtigen Binaries für deine Box (Mips vs. Mipsel)?
Die Binaries auch "binär" übertragen (beim FTP)?
 
max, super hast mir wieder sehr geholfen :)
lag an der ftp übertragung (autom. statt binär)
 
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.