.titleBar { margin-bottom: 5px!important; }

[gelöst]fritzbox über ssh zu einem server connecten lassen

Dieses Thema im Forum "Freetz" wurde erstellt von god of dream, 21 Sep. 2006.

  1. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 god of dream, 21 Sep. 2006
    Zuletzt bearbeitet: 23 Sep. 2006
    Ich will meine Fritzbox über den ssh-clienten im DS-mod mit einem script auf meinen server einloggen lassen.
    Mein Problem:
    "Passwortschutz"
    Code:
    ssh root@192.168.178.xxx ;
    "Passwort"
    
    Ihr könnt sehen das mein server im Intranet ist,
    deswegen wäre eine Umstellung des ssh-server auf password-los
    für mich kein verlust wenn ich wüsste wie das geht.
    Wie soll ich mein script aufbauen?

    Bitte macht mich nicht fertig wenn das eine noob-frage ist.
     
  2. xsapling

    xsapling Mitglied

    Registriert seit:
    30 Jan. 2005
    Beiträge:
    755
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    dropbear unterstützt kein "Passwortlos".
    Du müsstest das mit ssh-Schlüssel regeln.
    D.h. die Schlüssel (Private/Public-Keys) ersetzen die Passwortabfrage.
     
  3. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hab bei meinem Server
    Code:
    ssh-keygen -t rsa
    mit root durchgeführt und id_rsa und id_rsa.pub bekommen.
    die id_rsa.pub habe ich beim server in /root/id_rsa.pub und /root/authorized_keys gespeichert
    die id_rsa habe ich der Fritzbox in den ordner:
    Code:
    /var/tmp/flash/.ssh
    gelegt und
    Code:
    / # modsave
    durchgeführt
    aber ich bekomme weiterhin die password-frage bei ssh:
    Code:
    / # ssh root@192.168.178.5
    Password:
    könntest du mir sagen wo ich die dann bei der fritzbox speichern soll
    oder was nicht richtig ist?

    Bitte hilft mir ich sitze nun berreits insgesamt seit 40 stunden am pc um eine lösung zu finden und habe versucht über telnet und wget alternativen zu finden.

    MfG.
    God of Dream
     
  4. xsapling

    xsapling Mitglied

    Registriert seit:
    30 Jan. 2005
    Beiträge:
    755
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dein Problem hatte ich auch:
    Der ssh-private Key von openssh ist nicht als dropbear-privatekey nutzbar.
    Du musst diesen erst Umwandeln.
     
  5. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Na danke aber ich weiß leider nicht wie,
    sonst würde ich hier nicht so verzweifelt fragen :confused:
     
  6. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi, bei dropbear ist ein Konvertierungsprogramm dabei, dass Schlüssel vom openssh- ins dropbear-Format übersetzen kann (dropbearconvert). Das ist beim ds-mod nicht dabei (weil man es ja nur ganz selten braucht; sonst verbraucht es nur Platz). Du kannst dir das aber einfach für deinen Desktop-Rechner installieren.

    Andreas
     
  7. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #7 god of dream, 22 Sep. 2006
    Zuletzt bearbeitet: 23 Sep. 2006
    @ Andreas
    Vielen Dank für den Tipp.

    nun bekomme ich die meldung:
    Code:
    # ./dropbearconvert openssh dropbear /root/.ssh/id_rsa /id_rsa_dropbear
    Error: encrypted keys not supported currently
    Error reading key from '/root/.ssh/id_rsa'
    kann das vielleicht an dem -t liegen?
    Code:
    ssh-keygen -t rsa
     
  8. linuxservice

    linuxservice Neuer User

    Registriert seit:
    15 Feb. 2006
    Beiträge:
    70
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    am einfachsten duerfte folgendes sein (auf der box):

    # dropbearkey -t rsa -f .ssh/id_rsa
    (public key wird ausgegeben, nach ~/.ssh/authorized_hosts auf dem server cut'n'pasten)
    # ssh -i .ssh/id_rsa server
    (sollte login ohne passwort ergeben)
     
  9. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @ linuxservice
    Diese einfache Lösung ist mir nicht in den Kopf gekommen.
    Danke für diese geniale einfache Lösung.
    mit:
    Code:
    # cd /var/tmp
    # dropbearkey -t rsa -f .ssh/id_rsa
    (public key nach ~/.ssh/authorized_keys auf den server cut'n'pastet)
    # ssh -i /var/tmp/.ssh/id_rsa linuxserver
    
    Es klappt hervorragend nun das noch in den callmonitor einfügen und ich kann meinen Server per Mobiltelefon ein- und ausschalten:p
     
  10. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #10 Gayson, 23 Sep. 2006
    Zuletzt bearbeitet: 23 Sep. 2006
    Anstatt sich per SSH als root einzuloggen empfehle ich dir unbedingt, dich als anderen Nutzer mit weniger Priviligien einzuloggen, und dann ggf. mit einem 'su root'+Passwort root-Rechte zu schaffen. Sollte nämlich jemand an dein Keyfile kommen, hat er sofort root-Rechte.

    Benutzt du auf deinem Server als SSH-Server OpenSSH? Dann müssen die Dateien sich auf jeden Fall im Heimatverzeichnis im Ordner .ssh befinden (~/.ssh/authorized_keys).

    ... oder einfach auf der Fritzbox die Keys direkt erstellen, wie es sich eigentlich auch "gehört". Erst dann ist ein Einloggen mit "ssh root@server" möglich, ansonsten ist immer der Angabe des Keyfiles nötig ("ssh -i keyfile root@server). Deshalb müsste der von Linuxservice eingeschlagene Weg funktionieren:
    Code:
    # dropbearkey -t rsa -f ~/.ssh/id_rsa
    Und public key in die ~/.ssh/authorized_keys auf dem Server mit aufnehmen.
    Dann müsstest du mit
    Code:
    ssh root@server
    connecten können (oder halt auch mit expliziter Angabe des Keyfiles, wie von Linuxservice vorgeschlagen:
    Code:
    # ssh -i .ssh/id_rsa server
     
  11. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mist, zu langsam ;).

    So wie ich das sehe, gehen die Einstellungen nach dem nächsten Reboot der Fritzbox verloren. Deshalb müsste folgendes besser sein:
    Code:
    # dropbearkey -t rsa -f ~/.ssh/id_rsa
    (public key nach ~/.ssh/authorized_keys auf den server cut'n'pastet)
    # ssh -i ~/.ssh/id_rsa linuxserver
    (oder ssh root@linuxserver)
    Mit eurer Erlaubnis würde ich gerne die Ergebnisse dieses Thread im Wiki veröffentlichen und für die Ewigkeit festhalten ;):
    http://wiki.ip-phone-forum.de/software:ds-mod:pakete:dropbear
     
  12. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Gayson
    Danke für die Warnung, aber ich habe dem ssh-server bloß die ip der Fritzbox freigegeben und die Fritzbox ist auch nur über ssh(mit passwort) erreichbar.
    Wie meint ihr, ist doch sicher genug oder?
    Das einzige womit ich mir sorgen mache sind werbeanrufe und mein server schaltet sich ein oder aus:noidea: stört ja nicht oder :eek:

    nö mach mal das wird vielen helfen.
     
  13. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, müsste okay so sein.

    Ich versteh nicht so ganz, was du machen möchtest, soweit habe ich das verstanden: Dein Server steht hinter der Fritzbox im lokalen LAN, und du möchtest von irgendwo anders SSH-Zugriff auf deinen (evtl. ausgeschalteten) Server haben. Dazu weckst du deinen Server per Telefonanruf, und greifst dann mit einem SSH-Client auf die Fritzbox zu, welche dir Zugriff auf den Server verschafft. Oder wie willst du das nutzen?

    Hast du das gelesen?
     
  14. xsapling

    xsapling Mitglied

    Registriert seit:
    30 Jan. 2005
    Beiträge:
    755
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nicht unbedingt.
    Wenn du "modsave flash" ausführen würdest, dann blieben die Dateien auch nach dem reboot erhalten!
    Ich habe meinen private key in /tmp/flash abgespeichert und dann eben "modsave flash" ausgeführt.
     
  15. linuxservice

    linuxservice Neuer User

    Registriert seit:
    15 Feb. 2006
    Beiträge:
    70
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    man kann sich natuerlich auch gleich den public key zum existierenden host key ausgeben lassen und den in authorized_keys verwenden:

    dropbearkey -y -f /var/mod/etc/ssh/rsa_host_key

    ohne explizite angabe der identity verwendet der dropbear-ssh-client aber keine, um das -i (in diesem fall dann -i /var/mod/etc/ssh/rsa_host_key) kommt man also nicht rum.
     
  16. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Okay, da wirst du Recht haben, insbesondere wird mein Vorschlag auch nicht klappen. Da jedoch ~/.ssh -> /tmp/flash/.ssh dürfte das nun richtig sein:
    Code:
    # dropbearkey -t rsa -f ~/.ssh/id_rsa
    (public key nach ~/.ssh/authorized_keys auf den server cut'n'pastet)
    [COLOR="Red"]# modsave flash[/COLOR]
    # ssh -i ~/.ssh/id_rsa linuxserver
    (oder ssh root@linuxserver)
    Soweit ich das verstanden habe, dürfte ein 'modsave flash' bei
    Code:
    # dropbearkey -t rsa -f /var/tmp/.ssh/id_rsa
    nichts bringen, oder?
     
  17. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Richtig, 'modsave flash' sichert nur alles unterhalb von /tmp/flash (= /var/tmp/flash).

    Andreas
     
  18. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Code:
    dropbearkey -y -f /var/mod/etc/ssh/rsa_host_key
    Entspricht das einem 'cat rsa_public_key'? Wenn ja, brauch man dies nur, falls man einen private key ohne public key hat, oder?

    Code:
    ohne explizite angabe der identity verwendet der dropbear-ssh-client aber keine, um das -i (in diesem fall dann -i /var/mod/etc/ssh/rsa_host_key) kommt man also nicht rum.
    Das ist ja schade, also wird der bei einem 'ssh root@linuxserver' immer nach dem Passwort fragen, obwohl eine ~/.ssh/id_rsa vorliegt?

    @buehmann: Danke
     
  19. god of dream

    god of dream Neuer User

    Registriert seit:
    6 Juli 2006
    Beiträge:
    18
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #19 god of dream, 23 Sep. 2006
    Zuletzt bearbeitet: 24 Sep. 2006
    Viele verstehen nicht was das ganze bezwecken soll oder wofür ich das brauche. Also hier eine komplete zusammenstellung:
    Fritzbox->über Callmonitor:Sip1->Wake on Lan->Server einschalten.
    dazu den listener des Callmonitors:
    Code:
    in:cancel ^ ^01212********* /bin/ether-wake 00:30:**:**:**:**
    
    Server enthält Https-server, Http-Server, VNC-server(nicht meckern nur intanet),
    SSH-Server, Samba-Server(Intranet), Teamspeak-Server und
    am wichtigsten Streamripper (ein Programm um Internetradio intelligent aufzunehmen)

    Um den Server wieder auszuschalten:
    Fritzbox->über Callmonitor:Sip2->SSH-verbindung->Server ausschalten
    dazu den listener des Callmonitors:
    Code:
    in:cancel ^ ^01212********* 
    ssh -i /var/tmp/flash/.ssh/id_rsa 192.168.178.*** /sbin/shutdown -h now
    
    
    :p
     
  20. Gayson

    Gayson Neuer User

    Registriert seit:
    5 Sep. 2006
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mh, ich verstehe immer nicht, warum man sowas immer per Telefon machen möchte...
    Da ist man doch immer total unflexibel (man muss immer das Telefon/ Handy dabei haben); die Funktion ist auf das beschränkt, wie man vorher die Fritzbox konfiguriert hat; man möchte ja meistens eh den Server erst starten, wenn man grad schon am Internet sitzt ...
    Ich finde persönlich einen SSH-Zugang auf die Fritzbox bequemer, ich habe Putty auf meinem USB-Stick und kann mit 2x Doppelklick (Putty öffnen, dann gewünschte Verbindung aufbauen) einen PC im Netzwerk runterfahren, hochfahren, SSH-Zugriff auf Server oder Fritzbox erhalten, ... Und wenn ich mal an einem Linux-PC sitze, dann steht mir ja meist eh ein SSH-Client zur Verfügung, den ich dann mit einer Zeile anweisen kann, das gewünschte zu tun.
    Naja, aber ist ja halt Geschmackssache...

    Ich werde dann in den nächsten Tagen das Wiki ein wenig erweitern, stelle den Link danach nochmal rein, damit ihr nochmal nen Blick drauf werfen könnt, ob alles soweit okay ist.