Einstellmöglichkeiten für dropbear im ds-mod-Konfigurationsmenü verloren

woweil

Neuer User
Mitglied seit
28 Jan 2005
Beiträge
70
Punkte für Reaktionen
0
Punkte
0
Hallo,

seit einiger Zeit fehlen im Konfigurationsmenü folgende Einträge:

Unter Pakete fehlt dropbear.

Das Menü für das Einfügen der authorized_keys und die Einstellung des Ports, an dem dropbear lauschen soll, fehlt ebenso.

Eine Ursache ist für mich nicht erkennbar.

Was ist da möglicherweise falsch gelaufen?

MfG

Wolfram
 
Hi.
Du redest vom Webinterface? Screenshot?
Der dropbear ist im Image? Sicher? ;-)
Um welche Version des dsmod geht es denn?

MfG Oliver
 
olistudent schrieb:
Hi.
Du redest vom Webinterface? Screenshot?
Geht ,soviel ich weiß, unter IceWM nicht.
Der dropbear ist im Image? Sicher? ;-)
Sicher!! Ich kann mich schließlich mit ssh nach Herzenlust einloggen.:D
Um welche Version des dsmod geht es denn?
0.2.6

Im Moment habe ich mich mit den Config-Dateien unter /mod/etc/conf beholfen. Trotzdem finde ich das merkwürdig.

MfG

Wolfram
 
Was steht in der /var/log/mod.log?
 
rc.mod version ds-0.2.6
crond is disabled
telnetd is disabled
Starting webinterface...done.
Starting dnsmasq...dnsmasq: failed to bind listening socket for 192.168.179.1: A
failed.
Starting ssh server...done.
2002-09-08 14:01:06 mailer: csock: using poll^M
Couldn't load shared library libavmssl.so
File not found
 
Schaut das bei dir auch so aus?
Code:
/ # cat /usr/lib/cgi-bin/dropbear.cgi
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
. /usr/lib/libmodcgi.sh
auto_chk=''; man_chk=''
pwdauth_yes_chk=''; pwdauth_no_chk=''
if [ "$DROPBEAR_ENABLED" = "yes" ]; then auto_chk=' checked'; else man_chk=' checked'; fi
if [ "$DROPBEAR_PWDAUTH" = "yes" ]; then pwdauth_yes_chk=' checked'; else pwdauth_no_chk=' checked'; fi
sec_begin 'Starttyp'
cat << EOF
<p>
<input id="e1" type="radio" name="enabled" value="yes"$auto_chk><label for="e1" Automatisch</label>
<input id="e2" type="radio" name="enabled" value="no"$man_chk><label for="e2">
manuell</label>
</p>
EOF
sec_end
sec_begin 'Host-based Authentication'
cat << EOF
<ul>
<li><a href="/cgi-bin/file.cgi?id=authorized_keys">Authorized keys bearbeiten</a></li>
</ul>
EOF
sec_end
sec_begin 'SSH Server'
cat << EOF
<h2>Der SSH Server ist gebunden an:</h2>
<p>Port: <input type="text" name="port" size="5" maxlength="5" value="$(httpd - "$DROPBEAR_PORT")"></p>
<h2>Passwort Login:</h2>
<p>
<input id="p1" type="radio" name="pwdauth" value="yes"$pwdauth_yes_chk><label for="p1"> Aktiviert</label>
<input id="p2" type="radio" name="pwdauth" value="no"$pwdauth_no_chk><label for "p2"> Deaktiviert</label>
</p>
<h2>Zus&auml;tzliche Kommandozeilen-Optionen (f&uuml;r Experten):</h2>
<p>Optionen: <input type="text" name="options" size="20" maxlength="255" value=$(httpd -e "$DROPBEAR_OPTIONS")"></p>
EOF
sec_end
/ #
Und was macht dein Browser da draus?

MfG Oliver
 
Hier sind schon einige Unterschiede vorhanden. Ich habe mal ein

diff dropbear.cgi.box dropbear.cgi.forum ausgeführt. Hier ist das Ergebnis:

2d1
<
5d3
<
8d5
<
11d7
<
13d8
<
16,17c11,13
< <input id="e1" type="radio" name="enabled" value="yes"$auto_chk><label for="e1"> Automatisch</label>
< <input id="e2" type="radio" name="enabled" value="no"$man_chk><label for="e2"> Manuell</label>
---
> <input id="e1" type="radio" name="enabled" value="yes"$auto_chk><label for="e1" Automatisch</label>
> <input id="e2" type="radio" name="enabled" value="no"$man_chk><label for="e2">
> manuell</label>
20d15
<
23d17
<
29d22
<
32d24
<
35c27
< <p>Port: <input type="text" name="port" size="5" maxlength="5" value="$(httpd -e "$DROPBEAR_PORT")"></p>
---
> <p>Port: <input type="text" name="port" size="5" maxlength="5" value="$(httpd - "$DROPBEAR_PORT")"></p>
39c31
< <input id="p2" type="radio" name="pwdauth" value="no"$pwdauth_no_chk><label for="p2"> Deaktiviert</label>
---
> <input id="p2" type="radio" name="pwdauth" value="no"$pwdauth_no_chk><label for "p2"> Deaktiviert</label>
42c34
< <p>Optionen: <input type="text" name="options" size="20" maxlength="255" value="$(httpd -e "$DROPBEAR_OPTIONS")"></p>
---
> <p>Optionen: <input type="text" name="options" size="20" maxlength="255" value=$(httpd -e "$DROPBEAR_OPTIONS")"></p>
44d35

Als Bowser benutze ich den firefox.
 
Hm, ich hab da wild drin rumgelöscht, das kann schon sein.
Ich lese in deinem diff aber nix von authorized_keys, daher nehme ich an, dass das bei dir vorhanden ist?
Ist das auch im Quelltext der Seite im Browser da?
Code:
Schnipp
</div>
<div class="body">
<fieldset>
<legend>Host-based Authentication</legend>
<ul>
<li><a href="/cgi-bin/file.cgi?id=authorized_keys">Authorized keys bearbeiten</a></li>
</ul>
</fieldset>
</div>
<div class="body">
<fieldset>
<legend>SSH Server</legend>
Schnapp
MfG Oliver
 
Die authorized_keys habe ich, nachdem ich eben keine Konfigurationsmöglichkeit über das Frontend mehr gesehen habe, manuell aufgefüllt. Dasselbe gilt für die Konfiguration (keine Password Authentifizierung und Porteinstellungen.)
Bzgl. des Browser Quelltextes ist zu sagen, nirgends kommt irgendetwas mit ssh vor, geschweige denn so ein ähnlicher Quelltext, wie Du ihn angegeben hast. Insoweit vermute ich, wird die Konfigurationsseite wohl nicht mit den erforderlichen Konfigurationspunkten erstellt. Ich gehe mal davon aus, daß diese Seiten dynamisch erstellt werden.

MfG

Wolfram
 
Was steht denn in den /mod/etc/reg/* Dateien?
 
@danisahne:
cgi.reg:
dnsmasq|Dnsmasq

file.reg:
crontab|Crontab|0|/etc/default.mod/crontab.def
exhosts|Hosts|1|/etc/default.mod/exhosts.def


Kann es sein, daß hier die Erwähnungen für den dropbear fehlen, insbes. in der cgi.reg?

Bevor ich hier etwas "eigenmächtig" ändere, frage ich lieber vor.


MfG

Wolfram
 
Ja, die Einträge fehlen, sollten aber eigentlich automatisch von rc.dropbear erzeugt werden. Mach doch mal folgendes und schau, ob es dann im Webinterface auftaucht:
Code:
/etc/init.d/rc.dropbear
 
@danisahne
Der Eintrag in die cgi.reg hat geholfen. Nur wie kriege ich diesen dauerhaft abgespeichert.

In /etc/init.d/rc.dropbear finde ich nichts, das auf einen Eintrag in die cgi.reg hinweisen würde. Da ich vermute, daß dieses im "start"-Bereich des Skripts ausgeführt würde, habe ich mal diesen Teil hier hinkopiert.

MfG

Wolfram

Code:
start() {                                                         
        if [ ! -e "/tmp/flash/rsa_host_key" -o ! -e "/tmp/flash/dss_host_key" ]; then
                echo "Creating RSA and DSS host keys"                                
                rm -f /tmp/flash/rsa_host_key                                        
                rm -f /tmp/flash/dss_host_key                                        
                dropbearkey -t rsa -f /tmp/flash/rsa_host_key                        
                dropbearkey -t dss -f /tmp/flash/dss_host_key                        
                /usr/bin/modsave flash                                               
        fi                                                                           
                                                                                     
        if [ ! -d "/mod/etc/ssh" ]; then                                             
                mkdir -p /mod/etc/ssh                                                
                ln -s /tmp/flash/rsa_host_key /mod/etc/ssh/rsa_host_key              
                ln -s /tmp/flash/dss_host_key /mod/etc/ssh/dss_host_key              
        fi                                                                           
                                                                       
        [ -e "/mod/root/.ssh" ] || ln -s /tmp/flash/.ssh /mod/root/.ssh
                                                                       
        if [ "$DROPBEAR_PWDAUTH" = "yes" ]; then                       
                if cat /var/tmp/shadow | grep '^root:\*:' > /dev/null; then
                        echo "Error[$DAEMON]: no root password set - run 'modpasswd root'" 1>&2
                        exit 1                                                                 
                fi                                                                             
        else                                                                                   
                DROPBEAR_OPTIONS="-s $DROPBEAR_OPTIONS"                                        
        fi                                                                                     
                                                                                               
        echo -n 'Starting ssh server...'                                                       
        set -o noglob                                                                          
        $DAEMON -p "$DROPBEAR_PORT" $DROPBEAR_OPTIONS                                          
        exitval=$?                                                                             
        if [ "$exitval" -eq 0 ]; then                                                          
                echo 'done.'                                                                   
        else                                                                                   
                echo 'failed.'                         
                exit $exitval                          
        fi                                             
}

EDIT von danisahne: Bitte Code Tags verwenden.
 
Zuletzt bearbeitet von einem Moderator:
Nein, in dem von dir kopierten Codestück ist es nicht. Es ist der modreg aufruf, der aber eben automatisch geschehen sollte, da mußt du nichts "dauerhaft" speichern; lass uns lieber den Fehler suchen. Hast du nun
Code:
/etc/init.d/rc.dropbear
versucht? Hilft es etwas?

Mfg,
danisahne
 
/etc/init.d/rc.dropbear habe ich aufgerufen ohne Parameter. Vorher habe ich den zu Testzwecken in cgi.reg eingetragenen dropbear herausgenommen. Der Aufruf von rc.dropbear bewirkte einen Eintrag in cgi.reg.
Mittlerweile wg. des Aufrufs ohne Parameter habe ich einen anderen Verdacht. Ich hatte ein eigenes Startskript zu einem eigenen Paket hinzugefügt. Dieses wurde trotz Anmeldung nicht ausgeführt. Das Gerüst des Skripts sah so aus:

#! /bin/sh
#
# See how we were called.
case "$1" in
start)
;;
stop)
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac

exit 0

Und hier wurde das Skroüt selbstverständlich ohne Parameter nicht ordentlich ausgeführt. Aus diesem Grunde habe ich in rc.mod in der Zeile des Aufrufs der einzelnen rc.scripts zu den Paketen ein start angefügt.
Ich habe das mal rückgängig gemacht. Die Box wird rebooted. Anschließend werde ich über das Ergebnis berichten.

Zwischenzeitlich wurde die Box rebootet: Und siehe da, die Konfigurationsmöglichkeiten bestehen wieder. Da werde ich mein Starskript doch überdenken müssen, damit es den Parameter start nicht unbedingt benötigt.

MfG

Wolfram
 
Zuletzt bearbeitet:
Es wäre vielleicht hilfreich gewesen, wenn du von Anfang an gesagt hättest, dass du etwas am Mod verändert hast...
 
ich habe ebenfalls einen menueintrag "verloren" und würde gerne mehr über die /mod/reg/* dateien lesen ;)
 
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.