• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

AFP über SSH tunneln

factorx

Stechapfel
Registriert
28.11.06
Beiträge
156
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:

afpsshtunnel.png


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

Vielen Dank für eure Hilfe!
 

trent

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



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

dusty1000

Weißer Trierer Weinapfel
Registriert
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
 
Zuletzt bearbeitet:

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
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.
 
  • Like
Reaktionen: factorx

factorx

Stechapfel
Registriert
28.11.06
Beiträge
156
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.

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"
 
Zuletzt bearbeitet:

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
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
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
... Schade, wenn ich es mit AppleScript automatisieren will, bleibt der AppleScript-Interpreter nach dem Aufbau des SSH-Tunnels hängen, und arbeitet nicht weiter. ...
Code:
do shell script "ssh -2 -N -f -L 54854:macmini-ip:548 sshserver-ip"
mount volume "afp://127.0.0.1:54854/benutzername"

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
 

factorx

Stechapfel
Registriert
28.11.06
Beiträge
156
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

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.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Braucht das afp mount nicht auch noch ein Paßwort?
 

factorx

Stechapfel
Registriert
28.11.06
Beiträge
156
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.
 
Zuletzt bearbeitet:

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
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ß.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
AFP Passwörter sind heutzutage sowieso verschlüsselt.
Gruß Pepi
 

factorx

Stechapfel
Registriert
28.11.06
Beiträge
156
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. :)
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
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.