PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba-Freigabe über SSH-Tunnel mounten



LinuxLuuser
08.01.08, 13:42
Hallo Community,
ich weis, dieses Thema wurde schon bis zur Vergasung in allen bekannten Foren besprochen und habe auch schon einiges gelesen, ich komme trotzdem zu keinem Ergebnis. Ich will zu testzwecken (keine ernsthafte Anwendung) einen SSH-Tunnel dazu benutzen, eine Sambafreigabe des Rechners 1 im Rechner 2 zu mounten. Ohne SSH-Tunnel ist das kein Problem, läuft tadellos. Über einen SSH-Tunnel jedoch bekomme ich zur Antwort: "open failed: administratively prohibited". Wie gesagt mag es sinnfrei sein, diese Verbindung zu verschlüsseln, und überhaupt Samba statt NFS zu Benutzen, aber ich bin halt am üben ... nur darum geht`s.
Warum "open failed: administratively prohibited" ???

Die Konfiguration (beide Rechner im selben Subnetz hinter einem Router):

Rechner1:
alias (Hostliste auf anderen Rechnern): judith
Rechnername: LinuxJudith
IP-Adresse: 192.168.0.100
Samba:
Freigabename: Dokumente_Judith
Verzeichnis: /home/judith/Documents
für Samba-user: judith
Rechner2:
alias (Hostliste auf anderen Rechnern): stefan
Rechnername: privat
IP-Adresse: 192.168.0.104
mount-Verzeichnis für Sambafreigabe von Rechner1: /mnt/test Und beide Rechner mit PCLInuxOS_2007 als Distri.


(1.) Starten des SSH-Tunnels auf Rechner2 zum Rechner1 als user stefan:


[stefan@privat ~]$ ssh -L 1100:judith:139 judith@LinuxJudith
judith@linuxjudith's password:
[judith@LinuxJudith ~]$ (2.) Der Mountbefehl auf Rechner2 (der Freigabe des Rechners1) -gleich mit [Enter] und Antwort -neue Konsole als root:


[root@privat stefan]# mount -t smbfs -o username=judith,port=1100 //localhost/Dokumente_Judith /mnt/test
Receiving SMB: Server stopped responding
8309: session request to LOCALHOST failed (Call returned zero bytes (EOF))
Receiving SMB: Server stopped responding
8309: session request to *SMBSERVER failed (Call returned zero bytes (EOF))
SMB connection failed(3.) Ablehnung als Antwort auf erster Konsole:


[judith@LinuxJudith ~]$ channel 3: open failed: administratively prohibited: open failedIn der /etc/ssh/sshd_config habe ich folgende Option eingefügt (war vorher auskommentiert und "no" stand dahinter):


AllowTcpForwarding yes... weil ich dies in einem anderen Forum gelesen habe ...
Leider ohne Erfolg, immer wieder:channel 3: open failed: administratively prohibited: open failed ... ob mit oder ohne "AllowTcpForwarding". Mit oder ohne Firewall, scheint auch nicht zu interessieren.

Warum "open failed: administratively prohibited" ?


Vielen dank für eure Hilfe

3qualizer
08.01.08, 14:24
Kennt sich der Rechner LinuxJudith auch selbst unter dem Namen judith? Ansonsten kannst du auch localhost versuchen.

PS: gibt es eine IP-mässige Beschränkung vom Samba her?

LinuxLuuser
08.01.08, 15:05
Muss ein Rechner auch sich selbst kennen?
localhost ... an welcher Stelle? Für die IP-mässige Beschränkung muss ich mal Samba durchsuchen, in welcher Datei wird das zu finden sein ?

3qualizer
08.01.08, 15:25
Du baust einen Tunnel von Rechner2 zu Rechner1 auf und sagst Rechner1 er soll die Tunnel-Verbindung zu judith weiterleiten. Rechner1 heisst judith. Wenn er das aber nicht weiss, weiss er nicht wohin er das leiten soll.

ssh -L 1100:localhost:139 judith@LinuxJudith

Wegen der IP-Beschränkung vom Samba: was sagt

netstat -tnlp | grep 139

LinuxLuuser
08.01.08, 15:37
netstat -tnlp | grep 139
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 4995/smbd

LinuxLuuser
08.01.08, 16:19
Vielen Dank für deinen Hinweis. Ich habe die /etc/Hosts (von LinuxJudith) auch mit dem eigenem alias (judith) ergänzt. Danach lief es auch mit meiner obrigen Befehlszeile:

ssh -L 1100:judith:139 judith@LinuxJudithoder man sagt einfach wie du es vorgeschlagen hast:

ssh -L 1100:localhost:139 judith@LinuxJudith... so richtig hatte ich diese Befehlszeile mit diesem "ssh" nie verstanden. Dadurch wird mir nun einiges klarer.
Um nun auch als einfacher user auf Rechner2 in /mnt/test schreiben zu können bedarf es einer Ergänzung:

mount -t smbfs -o username=judith,port=1100,uid=xxx,gid=xxx //localhost/Dokumente_Judith /mnt/testxxx ist user/gruppe auf Rechner2