Veilige Samba (Linux en Windows)Op deze pagina (een onderpagina van mijn Linux pagina's) wat aandacht over hoe de files te benaderen vanuit Linux met behulp van Samba, on omgedraaid ook weer hoe vanaf Linux je Windows files te benaderen... Wat is Samba: de Linux SMB server... Maar, je kan het ook vanaf andere Linux-systemen benaderen. Op deze pagina's hier wat uitleg over, en met name over hoe je dit op een veilige manier over het externe internet kan doen. Geen uitleg over de samba server zelf (en de ssh-gateway daarop), maar daarover kan je wel wat lezen op mijn NSLU2 met Debian Linux pagina. Samba File Server/Windows files vanuit Linux benaderenIk heb een mooie file server aan mijn netwerk hangen (NSLU2), maar: wel met een Windows file system (SMB
gebaseerd). Hoe kan ik hier vanuit Linux bij? Grote kans dat je zo je netwerk-
en gedeelde drives al in de verkenner ziet. Zo niet: in de 'verkenner'
(bijvoorbeeld Konqueror in Knoppix, Nautilus in Ubuntu) is het
pad bijvoorbeeld ' Windows files op dezelfde computer, maar een andere disk/partitie (fat of ntfs), zijn gewoon vanuit Ubuntu en Knoppix te lezen (en voor nieuwere versies ook te schrijven). Helaas, niet alle programma's kunnen zulke smb:-paden aan. In plaats daarvan
(of er naast) kan ik zo'n drive ook 'mounten', zodat de files via normale
Linux-paden (ik kies hier voor het min of meer standaard pad
Voorbeeld: als de computer sudo smbmount "//netdisk2/DISK 1" /media/smb -o username=<je_username>,password="<je_wachtwoord>",uid=<je_username>,gid=<je_username> Geef je nu ' Ps: bij een van mijn computers met Ubuntu werd de computernaam
sudo smbmount "//192.168.1.9/DISK 1" /media/smb -o ...' En ja, nu kan ik ook in Ubuntu met IrfanView in Wine de plaatjes op mijn netwerkdisk bekijken... Samba over SSH: veilig vanaf het internetTot zo ver werkt het goed op het interne netwerk. Ik kan het file systeem ook veilig via het internet benaderen: via een 'SSH tunnel' waarmee alle communicatie via sterke encryptie verloopt. Wat uitleg over SSH op mijn SSH pagina. Naar keuze kan je dit gebruiken met een password, of met de (naar mijn idee veiliger) aanpak met key files en pass phrases, kijk hiervoor op uitleg over het SSH protocol. Contact leggen met je thuisserver via het internet? Bij veel providers heb je geen vast IP adres. Dank zij de services van DynDNS kan je een naam koppelen aan je (wisselende) externe IP adres, en zo je server via naam benaderen (zie ook mijn server page). Op linux werkt deze aanpak heel eenvoudig, en kan je het filesysteem
vervolgens normaal mounten: zie ook de Samba
over SSH tunnel mini-howto. Ik pak het iets moderner aan dan in de how-to
uitgelegd, en gebruik de opvolger ssh -2 -f -N -p <port> -L 12345:192.168.1.9:445 <ssh_username>@<ipaddress> En vervolgens met mount de netwerk-disk mounten via het lokale einde van de
ssh-tunnel op sudo mount -t cifs //netdisk2/shared /media/netdisk2 -o username=<samba username>,password=<samba password>,ip=127.0.0.1,port=12345,rw,uid=<username> Alternatief (met name op de MAC, die de sudo mount -t smbfs //<samba_username>@127.0.0.1:12345/shared /media/netdisk2 -o rw,uid=<username> Let op: ik gebruik lokaal een afwijkend poortnummer 12345, omdat
poort 445 (en 139) een systeempoort is, en deze alleen als root gereserveerd
kunnen worden. Maar, als ik ssh met sudo als root draai, kan'ie
weer niet bij mijn ssh-agent en dan is inloggen met keyfiles weer
lastig. Merkwaardig genoeg werkt
Je samba/cifs username en wachtwoord kan je overigens veiliger in een
credentials file opslaan (zet dan wel de rechten op user read-only); zie
man smbmount, //netdisk2/shared /media/netdisk2 cifs auto,credentials=/home/<user>/.smb_credentials,ip=127.0.0.1,port=12345,user 0 0 Windows vanaf het externe internet is wat lastiger: zie verderop op deze pagina over de NetDrive aanpak, of Samba over SSH for Windows). Maar, op windows kan je dan ook WinSCP of FileZilla/SFTP gebruiken in plaats van Samba. Alternatief (Linux): de SSHFS aanpakMet dank aan Cybertinus en sverrips van het NedLinux forum (nog niet door mij uitgetest): Mocht je Linux gebruiken, dan moet je eens kijken naar sshfs. Daarmee kan je ook SFTP servers mouten op bepaalde directories. Hoe sshfs werkt durf ik niet te zeggen. Nog nooit wat mee gedaan. Maar ik weet vrij zeker dat er op internet howto's te vinden zijn over hoe het werkt. Installeren met sshfs stephan@everywheredomain.nl:/map1 map2
NetDrive aanpak: veilig vanuit WindowsVia WinSCP of FileZilla/SFTP kan je vanuit Windows ook bij je files via een SSH-beveiligde verbinding. Maar, wil je de drive echt op een drive letter (als N:) kunnen mappen? Kijk hier. Met dank aan Cybertinus van het NedLinux forum, die onderstaand verhaal voor mij heeft ingetypt op een vraag hierover (nog niet door mij uitgetest): Gebruik je Windows? Kijk dan eens naar de tool NetDrive. Daar kan je FTP en WebDAV shares mee mounten op een driveletter. Dat werkt best leuk. Ik heb het net ff geïnstalleerd op m'n virtuele 32 bit Windows XP en ik heb gewoon netjes een share gemaakt naar de SSH server die op de Linux Host staat. Netdrive werkt op de volgende manier (ik heb hem in het Engels geinstalleerd, ik hoop dat het toch duidelijk is als jij hem Nederlands hebt geïnstalleerd):
Hopelijk heb je wat aan mijn informatie en ik hoop dat je een verbinding opgezet krijgt naar jouw thuis. |
op mijn site |