CIFS/SMB via SSH Tunnel

Pagina: 1
Acties:

Onderwerpen


  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
Zie ook dit forum.

Ik wil graag mij lokale CIFS/SMB shares (van een FreeNAS server) benaderen vanaf bv mijn werk (als een netwerkschijf in Windows Explorer bij voorkeur).
Volgens mij moet ik dat iets doen met SSH Tunneling maar ik heb nog geen goede handleiding kunnen vinden. Iets met het programma PuTTY?

Op de server is FreeNAS geinstalleerd en deze ondersteunt SSH.

Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
*Schop*

Ik heb inmiddels een (werkende) SSH Tunnel op kunnen zetten maar ik weet niet hoe ik het dan in Windows Explorer moet mounten.
Ook heb ik een Windows Loopback Adapter toegevoegd en ingesteld zoals op verschillende sites staat (zoals hier) beschreven maar ik kom niet verder....! :(

Acties:
  • 0 Henk 'm!

  • Mijzelf
  • Registratie: September 2004
  • Niet online
Je moet iets uitvoeren als
ssh -L <ip-van-loopback>:445:<ip-van-remote-smb>:445

De ip-van-remote-smb zou 127.0.0.1 kunnen zijn aangezien de sambaserver op dezelfde doos draait als de sshserver, maar mogelijk moet je het 'echte' netwerkadres gebruiken. De samba daemon hoeft niet aan localhost gebonden te zijn.

Nadat je hebt ingelogd op de ssh-server is de tunnel actief.
Dan zou je op de Windows PC de share moeten kunnen benaderen via \\<ip-van-loopback>\sharenaam

Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
code:
1
2
3
4
5
6
7
freenas:~# ssh -L 10.0.0.100:445:127.0.0.1:445
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-i identity_file] [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-w local_tun[:remote_tun]] [user@]hostname [command]


Ik krijg dus een foutmelding dat ik het commando niet goed heb ingevoerd, terwijl dit naar mijn idee toch echt wel klopt...

Het ip-adres van de Loopback Adapter is 10.0.0.100

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Koen-D schreef op maandag 01 maart 2010 @ 20:29:
code:
1
freenas:~# ssh -L 10.0.0.100:445:127.0.0.1:445


Ik krijg dus een foutmelding dat ik het commando niet goed heb ingevoerd, terwijl dit naar mijn idee toch echt wel klopt...
Je geeft geen hostname op. (voeg 127.0.0.1 toe? )

volgens mij moet je wat je daar doet ook in putty (client) en niet op de freenas server doen, maar dat weet ik niet zeker.

Probeer overigens ook eens tunnelier op windows. Krijg je automatisch winscp mee, en wat meer userinterface dan putty.

En ten overvloede, zet een sterk username/wachtwoord erop, want op poort 22 komen veel connecties langs die veel gebruikte username/wachtwoorden even uitproberen.

[ Voor 23% gewijzigd door leuk_he op 01-03-2010 20:41 ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
code:
1
2
3
4
5
6
7
8
9
freenas:~# ssh -L 10.0.0.100:445:127.0.0.1:445 127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
DSA key fingerprint is <hier staat iets en ik weet niet of dit prive is>.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (DSA) to the list of known hosts.
root@127.0.0.1's password:
bind: Can't assign requested address
channel_setup_fwd_listener: cannot listen to port: 445
Could not request local forwarding.


Ik heb ook Tunnelier geprobeerd, maar moet ik dan ook nog ergens iets invullen mbt tot poort 319 en 445?
In PuTTY had ik namelijk:
code:
1
2
L10.0.0.100:139   192.168.1.100:139
L10.0.0.100:445   192.168.1.100:445

[ Voor 6% gewijzigd door Koode op 01-03-2010 20:54 ]


Acties:
  • 0 Henk 'm!

  • Mijzelf
  • Registratie: September 2004
  • Niet online
Koen-D schreef op maandag 01 maart 2010 @ 20:53:
In PuTTY had ik namelijk:
code:
1
2
L10.0.0.100:139   192.168.1.100:139
L10.0.0.100:445   192.168.1.100:445
En dan kon je op de Windows doos de share niet bereiken via \\10.0.0.100\sharenaam? Dit ziet er goed uit, mits 192.168.1.100 het adres van de sambaserver is.

Edit: het ssh commando moet inderdaad vanaf de Windows doos worden uitgevoerd:
ssh -L 10.0.0.100:445:127.0.0.1:445 <publiek-ip-van-freenas>
Andersom kan wel, maar dan moet je een ssh daemon op Windows draaien.

[ Voor 31% gewijzigd door Mijzelf op 01-03-2010 21:00 ]


Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
Nee dat lukte toen ook niet...

Is er niet een programma dat dit allemaal voor mij kan doen?
Ik wil dus een SSH tunnel opzetten met de (FreeNAS)-server er vervolgens de CIFS/SMB share mounten als een netwerkschijf in Windows Explorer.
De SSH tunnel opzetten lukt wel (ik kan inloggen) maar ik loop vast bij het forwarden van de poorten...

Of heeft iemand nog een link naar een goede tutorial hiervoor?

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 10:14
Probeer WinSCP in de tussen tijd...
Werkt ook via SSH

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

http://www.blisstonia.com/eolson/notes/smboverssh.php

?
Wellicht vat je nu waarom in dat andere topic noemde dat vpn van je werk naar freenas gebruikerlijker is.

(openvpn kan op freenas geinstalleerd worden, windows heeft standaard een vpn client, vraag is alleen of het netwerk van je werk open genoeg hiervoor staat)

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
Ik heb je link gevolgd maar vooralsnog werkt het niet...
Als ik naar \\10.0.0.100 probeer te gaan krijg ik een foutmelding:
code:
1
Windows cannot find '\\10.0.0.100'. Check your spelling and try again.

Denk dat het vastloopt bij "did you add C to your hosts allow in smb.conf?". Ik heb namelijk geen idee hoe ik dit moet doen!

Ik ga ook wel eens opzoek naar een tutorial over hoe ik OpenVPN aan de praat moet krijgen op FreeNAS.
Werk == Universiteit dus ik verwacht daar geen problemen. :)

[ Voor 18% gewijzigd door Koode op 01-03-2010 22:13 ]


Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Koen-D schreef op maandag 01 maart 2010 @ 22:10:
Ik heb je link gevolgd maar vooralsnog werkt het niet...
Als ik naar \\10.0.0.100 probeer te gaan krijg ik een foutmelding:
code:
1
Windows cannot find '\\10.0.0.100'. Check your spelling and try again.

Denk dat het vastloopt bij "did you add C to your hosts allow in smb.conf?". Ik heb namelijk geen idee hoe ik dit moet doen!

Ik ga ook wel eens opzoek naar een tutorial over hoe ik OpenVPN aan de praat moet krijgen op FreeNAS.
Werk == Universiteit dus ik verwacht daar geen problemen. :)
Werkt "ping 10.0.0.100" ? zoniet dan heb je de loopback adapter niet goed tegevoegd.

Try "telnet 10.0.0.1 139" from a command shell on C. Do you get a connection? If it doesn't connect, then either samba or port forwarding is bonked. (behalve een connect is er niks.)


smb.conf: google deze eens, deze file staat ergens op je freenas b.v in, /usr/local/samba/lib/ of
/etc/samba/smb.conf. ofzo, editen met een texteditor (vi?)

http://www.samba.org/samb...mb.conf.5.html#HOSTSALLOW

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

  • Koode
  • Registratie: Augustus 2007
  • Laatst online: 21-09 20:55
Er is een week voorbij gegaan en ik ben iets verder maar het werkt nog niet....

Als ik nu naar \\10.0.0.100 werkt dat wel, maar zie ik 3 shares van Windows 7: Music, Users en Videos.
De share van mijn NAS staat daar niet bij...

'smb.conf' is gelukt.
'ping 10.0.0.100' werkt.
'telnet 10.0.0.100 139' werkt niet (moet toch ook met PuTTY?).
Snap ook niet helemaal hoe ik kan testen of alles goed geforward is...

Edit: Opnieuw opgestart en \\10.0.0.100 is niet meer te benaderen!

[ Voor 7% gewijzigd door Koode op 10-03-2010 16:33 ]


Acties:
  • 0 Henk 'm!

  • Zerobase
  • Registratie: Februari 2007
  • Niet online
Ben ook bezig geweest om de samba shares thuis (Ubuntu Server) te kunnen benaderen vanaf de zaak (Windows 7 notebook).

In eerste instantie geprobeerd SSH te tunnelen via HTTPS (zie deze link) om dan via de SSH tunnel uiteindelijk de shares te kunnen bereiken. Krijg HTTPS tunneling echter niet aan de praat (zelfs in Apache 2.3 alpha lijkt de SSL bug nog steeds aanwezig).

Volgende optie is om op de thuisserver SSH ook op poort 443 te laten luisteren. Het opbouwen van een SSH tunnel vanaf de zaak werkt nu als een speer. Tunnelen van RDP, VNC enz werkt prima. Het tunnelen van SMB werkte echter niet.

Ter info: De enige poort op de router die openstaat voor de buitenwereld is poort 443.

Vanaf ik meen Windows 2000 wordt SMB over TCP/IP ondersteund zonder dat je de extra laag van NetBT (Netbios over TCP/IP) nodig hebt. Hiervoor wordt poort 445 gebruikt.

Als je Windows 7 standaard opstart, bind deze zich al aan poort 445 (poort 139 wordt bij mij niet gebruikt). Het maakt niet uit of je een extra loopback interface aanmaakt om via te tunnelen, verkeer naar poort 445 gaat niet door de tunnel heen maar wordt door Windows afgevangen.

Bijgaand de output van netstat -an, zonder dat de tunnel actief is:

  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    [::]:445               [::]:0                 LISTENING

Wat je dus eigenlijk wilt is de tunnel opbouwen vóór dat Windows op poort 445 gaat luisteren. Ik heb dat alsvolgt opgelost:
- Stop handmatig de services 'Computer Browser' en 'Server' en zet beide services op disabled.
- Reboot je systeem (is nodig omdat Windows blijft luisteren op poort 445).
- Bouw nu de tunnel op (bijv met Putty), waarbij lokale poort 445 wordt getunneld naar poort 139 aan de remote zijde.
- Start services 'Server' en 'Computer Browser' weer.
- Door nu naar \\127.0.0.1 te browsen zie je de samba shares aan de andere kant!
- Je kunt de tunnel nu afbreken en opnieuw opbouwen zonder bovengenoemde services te hoeven stoppen (Zet je ze weer op automatisch starten dan zul je na een reboot alle handelingen hierboven nog een keer moeten herhalen).

Wat je met bovenstaande bereikt is dat jouw Windows systeem niet meer op 127.0.0.1:445 luistert. Verkeer gaat nu de tunnel door en je kunt bij de samba shares op afstand. Ik heb nog niet verder gezocht of ik bovenstaande methode op een simpelere manier kan uitvoeren, maar werken doet het zo wel.
Pagina: 1