1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

AFP über SSH tunneln

Dieses Thema im Forum "macOS & OS X" wurde erstellt von factorx, 19.02.07.

  1. factorx

    factorx Cripps Pink

    Dabei seit:
    28.11.06
    Beiträge:
    155
    Hallo,

    auf meinem Mac mini zu Hause habe ich einen AFP-Dateiserver gestartet, auf den ich jetzt vom Internet aus zugreifen möchte. Dazu wollte ich die Verbindung über SSH tunneln. Das habe ich auch getan per

    Code:
    sudo ssh -2 -N -f -L 548:macmini-ip:548 sshserver-ip
    Verbunden habe ich mich dann über Finder -> Gehe zu -> afp://localhost/benutzername

    Der Tunnel steht und funktioniert auch soweit, aber scheinbar hat OS X da eine Sicherheitsfunktion, die den lokalen Zugriff verbietet:

    [​IMG]

    Kann man diese Sicherheitsfunktion irgendwie abschalten oder umgehen? Sie wäre für meinen Fall ja unnötig.

    Vielen Dank für eure Hilfe!
     
  2. trent

    trent Gast

    Ich glaube, das wäre in Deinem Fall die Aktivierung von "Entfernten Anmeldungen" (Systemeinstellungen -> Sharing).

    [​IMG]

    Aber ob das mit der Fehlermeldung zusammenhängt, keine Ahnung...
     
  3. dusty1000

    dusty1000 Weißer Trierer Weinapfel

    Dabei seit:
    22.09.06
    Beiträge:
    1.508
    Der SSH-Tunnel sieht auf Serverseite ja wie eine lokale Verbindung aus. Ich denke, der AFP-Dateiserver ist nicht so konfiguriert, dass er lokale Verbindungen akzeptiert.

    Äh, Moment, auf dem Mini ist sicher nicht MacOS Server drauf, oder ?
    Die 'normale' MacOS Version lässt meines Wissens nach kein ssh-getunneltes AFP zu.

    Vielleicht kannst du da was mit almostVPN erreichen.

    Vielleicht hilft das auch weiter:
    http://nerdvittles.com/index.php?p=58
     
    #3 dusty1000, 19.02.07
    Zuletzt bearbeitet: 19.02.07
  4. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Bei mir funktioniert das. Und zwar so:
    http://osx.realmacmark.de/osx_terminal.php#ssh_afp

    Es ist im übrigen keine Sicherheitsfunktion, die Dir in die Quere kommt, sondern eine Sinnprüfung. Dateien, die auf dem eigenen Rechner liegen, per AFP zu holen, ist nicht sinnvoll. Verwende wie in meinem Link einen anderen Port. Das hat zudem den Vorteil, daß Du ohne root auskommst.
     
    factorx gefällt das.
  5. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Sie läßt es zu, wenn man es selbst per Hand macht.
     
  6. factorx

    factorx Cripps Pink

    Dabei seit:
    28.11.06
    Beiträge:
    155
    Sehr guter Tipp, und tolle Seite! Die werde ich mir speichern. So funktioniert es! :D

    Edit: Schade, wenn ich es mit AppleScript automatisieren will, bleibt der AppleScript-Interpreter nach dem Aufbau des SSH-Tunnels hängen, und arbeitet nicht weiter. Weiß vielleicht zufällig noch jemand eine Antwort auf dieses Problem?

    Code:
    do shell script "ssh -2 -N -f -L 54854:macmini-ip:548 sshserver-ip"
    mount volume "afp://127.0.0.1:54854/benutzername"
    
     
    #6 factorx, 19.02.07
    Zuletzt bearbeitet: 19.02.07
  7. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    factorx,
    die von dir verwendete Commandline erfordert zwinged Root Rechte am lokalen Rechner, das ist vollkommen unnötig und auch nicht empfohlen. Außderdem kannst Du dann Probleme bekommen wenn dort lokal auch AFP läuft. Besser ist es einen anderen Port zu verwenden.

    Code:
    $ ssh -L 10548:mini-ip:548 user@mini-ip
    
    Danach verbindest Du Dich mit afp://mini-ip:10548 und das Problem ist gelöst. Das kannst Du von jedem Rechner aus machen. Ob Du optional am mini eine Shell aufmachen willst oder nicht sei Dir überlassen. Du kannst diese (und andere, auch mehrere Tunnel) in eine ~/.ssh/config eintragen. Dann reicht ein simples ssh mini um mit allen Tunneln zu Verbinden. man ssh gibt Auskunft darüber wie man das macht.
    Gruß Pepi
     
  8. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Er vermißt wahrscheinlich das Loginpaßwort für den ssh-User. Evtl. ssh so konfigurieren, daß die Paßworte nicht getippt werden müssen. Schau mal hier rein:
    http://www.apfeltalk.de/forum/mac-schluesselbund-ssh-t67344.html
    http://www.apfeltalk.de/forum/os-x-ssh-t35714.html
     
  9. factorx

    factorx Cripps Pink

    Dabei seit:
    28.11.06
    Beiträge:
    155
    Ich nutze Pubkey-Authentifizierung für den SSH-Server, und diese funktioniert auch. Denke nicht, dass es daran liegt. Bei diesem Verfahren wird ja kein Passwort verlangt.

    Der Tunnel wird ja auch aufgebaut, aber bevor es dann zum Einhängen des Volumes kommt, hängt er sich auf.
     
  10. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Braucht das afp mount nicht auch noch ein Paßwort?
     
  11. factorx

    factorx Cripps Pink

    Dabei seit:
    28.11.06
    Beiträge:
    155
    Doch, aber dieses würde ich ungern fest im Script eintragen. ;)
    Wenn ich es zu Hause im lokalen Netz (ohne Tunnel) einfach so einhänge, ohne das Passwort im Script fest einzutragen, kommt eine Eingabeaufforderung für das Passwort. So hätte ich es jetzt eigentlich über den SSH-Tunnel erwartet.

    PS: Ich habe gerade herausgefunden, dass dasselbe Problem auftritt, wenn ich es über Automator anstatt AppleScript probiere.
     
    #11 factorx, 19.02.07
    Zuletzt bearbeitet: 19.02.07
  12. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Die AFP-Kommandos fließen ja dann durch den SSH-Tunnel; das AFP-Paßwort wäre also verschlüsselt und nicht abgreifbar.

    Evtl. gibt es auch die Möglichkeit AFP so zu konfigurieren, daß das Paßwort ebenfalls nicht getippt werden muß.
     
  13. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    AFP Passwörter sind heutzutage sowieso verschlüsselt.
    Gruß Pepi
     
  14. factorx

    factorx Cripps Pink

    Dabei seit:
    28.11.06
    Beiträge:
    155
    Ich möchte auch auf meiner Festplatte das Passwort nicht unverschlüsselt liegen haben. :)
    Ich zweifle inzwischen auch daran, dass es an einem fehlschlagenden Verbindungsaufbau liegt. Wenn ich anstatt des SSH-Tunnels vorher irgendeinen anderen Shell-Befehl aufrufe, z.B. ls, dann passiert dasselbe. Scheinbar liegt es also daran, dass die Shell nicht sauber verlassen wird, und dass es deshalb erst gar nicht zum Verbindungsaufbau kommt. Auch ein angehängter &-Operator am Ende des Kommandos, der die Shell direkt nach dem Programmstart freigibt, änderte nichts.

    Naja, da kann man wohl nichts machen. Ihr habt mir trotzdem sehr geholfen, danke. :)
     
  15. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Ich glaube "mount" ist nicht passend. Folgendes Vorgehen funktioniert bei mir:

    Shell 1 auf lokalem Rechner:
    ssh -L 54854:127.0.0.1:548 remoteIp
    <passwordeingabe>

    Andere Shell auf lokalem Rechner:
    mkdir mounty
    mount_afp afp://127.0.0.1:54854/meinUser mounty

    Das Verzeichnis mounty ist dann das Volume "meinUser" des entfernten Rechners. Es ist außerdem auf dem Schreibtisch sichtbar.

    Beseitigen mit:
    umount mounty (Oder per Maus im Finder.)

    Damit wird das Verzeichnis mounty ebenfalls gelöscht.
     

Diese Seite empfehlen