donderdag 27 november 2008

de maat nemen



Ik hou wel van glas. Zelfs dat laboratoriumglaswerk vind ik mooi. Dus bekeek ik het Schott-maatbekertje van 100 ml uitvoerig.
Maatstreepjes voor 20, 40, 60 en 80 ml.

Niet voor 100.

zaterdag 22 november 2008

Sleutels


Al jaren heb ik een pracht doosje staan. Een doosje net iets groter dan een ouderwets pakje sigaretten van 25 stuks. Het is Een Linksys NSLU2, een NAS, voorzien van unslung-firmware; om de potentie van het apparaat beter te benutten. Het fungeert als NAS, webserver, ftp-server, sambaserver. Maar deze versie loopt af fabriek op de halve snelheid. Gezien zijn leeftijd dacht ik dat het nu wel eens tijd was om hem 'op te voeren'. Door een weerstand te verwijderen komt'ie op 266MHz. Een grondig Duits NSLU2-forum biedt vaker de betere oplossing dan het standaard (Engelstalige) NSLU2-forum. (ook al heb je een andere NAS, kijk dan toch eens hier en op het Duitse forum).

Een van de problemen die ik had betrof het benaderen van OOo Base-databases als ik onder Ubuntu werkte. Ook SaMBa bracht geen oplossing. Inmiddels een bekende bug van OOo. Op de todo-lijst stond dus het eens met NFS te testen. Dus werd de unslunged NAS nu ook NFS-server.

Vroeger, toen er nog geen Ubuntu was, heb ik wel eens voorzichtig onder Suse met NFS bestanden gedeeld (NFS = Networked File System). Dat liep toen vlotjes.
Maar nu is er Ubuntu. Hoe dat nu met Ubuntu (8.04 lts) zit kun je nalezen. In hoofdstuk 12, getiteld “File servers” van de officiële Engelstalige documentatie staat het.
Dat valt wel mee denk je dan...
Totdat het niet werkt. Nou ja, ik zie wel bestanden, maar heb geen rechten om ze te openen of te bewerken. Ergens lees je dan dat je kunt chown'en. Maar later ontdek je dan dat je met je chown echt, daadwerkelijk het eigendom op de oorspronkelijke bestanden hebt aangepast. Op zich logisch, maar gemakkelijk over het hoofd te zien.
Dat is dus echt niet de bedoeling want dan heb je daarna elders problemen (wet van Murphy).

Na wat zoeken blijken de uid en gid bij NFS erg belangrijk te zijn. Die uid en gid zijn op de unslungserver heel anders dan op de Ubuntu-klant. Omdat ik vaker werk met Ubuntu dan met de Unslung en het me al moeilijk genoeg is om één Linux bij te houden, leek het me zinnig om te kijken of het makkelijk is een 'group id' aan te passen aan de Ubuntu-kant. Dus een nieuwe groep gemaakt en dan blijkt inderdaad dat je in Ubuntu makkelijk het gid aan kunt passen aan de behoefte. De namen van de (hoofd-)gebruikers op beide systemen zijn gelukkig al gelijk. Gewenste leden worden aan de nieuwe groep toegevoegd. En Bingo!
Via het onvolprezen Nederlandse Ubuntuforum had ik bij http://www.akker-huis.nl/ubuntu-nfs-bestanden-delen.php een handleiding gevonden voor twee Ubuntumachines. Het voor mij belangrijkste stukje handelt over 'exportfs -a' of soms nog beter 'exportfs -ra'. Als je het bestand op de server - meestal te vinden in /etc - 'exports' wijzigt dan doe je er goed aan daarna de opdracht 'exportfs -ra' te geven! Het exports-bestand bevat de gegevens over welke bestanden op de server geëxporteerd moeten worden en met welke rechten/mogelijkheden dat gebeurt.

Een regel uit het exports-bestand:
/public 10.0.0.0/8(rw,sync,no_root_squash)

----------
De uitgebreide Engelstalige NFS-handleiding vindt u hier: http://nfs.sourceforge.net/nfs-howto/. Met enig zoeken op interpret is er ook wel wat in een andere taal te vinden.
Toch meer gedoe dan ik had verwacht. Maar dat had ook te maken met de eigenzinnige unslung.

Tevreden zat ik daarna te lezen op het ubuntuforum en kwam daar een vraag tegen over:
Bestanden delen tussen twee ubuntu-pc's. Ik wilde niets liever dan mijn net verworven kennis delen; daar is een forum voor. Het was het probleem waarmee ik bezig was geweest. Nou ja, bijna, want ik had twee verschillende *nixxen en niet twee ubs. Ik leverde mijn bijdrage en werd daarna geconfronteerd met opmerkingen hoe makkelijk het allemaal is met SSH en SFTP. Hmm?
Secure Shell (SSH) en alle mogelijkheden die het biedt hebben al jaren mijn aandacht, maar ik had nooit de tijd en/of ambitie me daar eens lekker mee bezig te houden. En Secure File Transport Protocol is dan zo'n veilige uitbreiding. Ik FTP nog wel eens, gewoon vanaf de commandoregel en gebruik dan maar een paar commando's. Je kunt je bestanden verplaatsen over een netwerk. Het heet niet voor niks ...Transport protocol. Niet wat ik versta onder het 'delen van bestanden'
Het kriebelde.... In de FullCircleMagazine (http://fullcirclemagazine.org) van november 2008 op pagina 12 staat nota bene een artikel genaamd: “A Secure Network Drive”, geschreven door Darrin Auxier.
“I often find myself wanting to share files between my main PC and my laptop.” “.... I've found that the best solution is sshfs: it combines the security of SSH with the simple usability of a file system.”

Wat!?

In deze how-to van 2 bladzijden wordt duidelijk uitgelegd hoe twee smaken ubuntu met SSHFS worden verbonden. Hmmm, kan dat ook met de unslung? Na flink wat grutten op de twee eerder genoemde nslu2-bronnen leek het te moeten kunnen lukken. Hoofdbestanddeel was de pagina
UseOpenSSHForRemoteAccess alwaar verderop onder het kopje 'Remote access to files over SSH' het aankoppelen (mounten) van een extern bestandssysteem aan de orde komt. Voor de unslung moet dan het pakketje 'openssh-sftp-server' geladen worden. Opnieuw komt dus de SFTP-server om de hoek kijken. Het blijft me verbazen en intrigeren. We zullen zien! De nslu2-linux-pagina gaat in het begin vooral over het benaderen van de unslung via Putty. Putty is een ssh-client voor de windowsomgeving. Die gebruikte ik al, maar alleen om middels het wachtwoord verbinding te zoeken.
En daar komt nu de kracht van SSH om de hoek. Wachtwoorden zijn vaak onveilig. Als je nu een heel cryptisch en lang wachtwoord kunt maken, dan is dat veel veiliger. Alleen heb je een probleem om het te onthouden en dan ook nog foutloos en blind te typen. En daar komt de sleutel (key) in het spel. Met bijv. RSA-encryptie kun je enorm lange sleutels maken. Meervoud, want je maakt een publieke en een privé-sleutel. De publieke maak je bekend, deel je, op de server en bij het kontaktmaken vertel je waar je private sleutel staat. Je hoeft dus niet zelf die vreselijk lange wachtwoorden in te typen. En dat alles op een superveilige manier geregeld met SSH.
In het kort:
  • Genereer de sleutels m.b.v. ssh-keygen of het hulprogramma van Putty hiervoor, Puttygen
  • Type in het commentaarvak van Putty's keygen de gebruikersnaam en server;
  • bijv 'alhier@unslung'
  • Sla de sleutels in verschillende bestanden op (Putty's keygen heeft daarvoor knoppen)
  • Zorg dat de publieke sleutel aan de serverkant bekend wordt
  • Vertel aan Putty in welk bestand de private sleutel staat en maak verbinding.
  • De allereerste keer wordt dan ter verificatie de 'passphrase' afgevraagd die je hebt opgegeven bij het maken van de sleutels. Die passphrase moet je dus ook wel ergens noteren, of over een wonderbaarlijk geheugen beschikken.
  • Daarna kennen server en client elkaar.
Vanaf een terminalvenster in Ubuntu ziet het er wat anders uit:

Als je tijdens de uitvoering bij de opdracht “Enter file in which to save the key” alleen een bestandsnaam invult dan komt het bestand gewoon in je thuismap. Mijn ervaring is dat je het moet lezen als geef een Enter zodat die id_rsa-bestanden gemaakt worden op de beschreven en gewenste locatie.
Mijn unslung-server wil de publieke sleutels in het bestand
'/user-homedir/.ssh/authorized_keys' hebben staan. Van de verschillende machines en gebruikers moeten de publieke sleutels daar onder worden gebracht. Iedere sleutel op één regel!
Dat is best nog een opgave. Helemaal omdat de Ubuntu-machines een rare, afgeschermde 'root'-gebruiker hebben. Ik kwam er zelf niet uit en heb de vraag maar weer eens op het ubuntuforum gesteld: ssh: automatische sleutel en inloggen als root.

Nu, nu de antwoorden van het forum verwerkt zijn, kan ik zeggen dat het wel mee valt.
Natuurlijk kwamen er opmerkingen dat het niet de meest veilige manier is om als root in te loggen op een extern of remote systeem. Terecht.
Maar wat onder windows met Putty geen probleem was moest ook onder Ubuntu geen probleem worden!
Voor het dagelijks werk kan ik nu superveilig verbinding maken en mijn bestanden, vooral mijn Ooo-databases vanaf de ubuntu-client vullen.
De map waar de sleutels staan onder linux is de verborgen map .ssh in de home-dir die alleen voor de eigenaar alle rechten heeft (700). De bestanden daarin moeten alleen leesbaar (600) zijn. Als dat deugt, dan kunt u via de menu-ingang Locaties kiezen om onder Verbinden met Server de juiste gegevens in te vullen en te verbinden.

Geweldig. Hoe prachtig ook, maar het is nog geen aankoppeling (mount) van het externe bestandssysteem.
Voor SSHFS moet op de server openssh-server draaien.
Voor de unslung NSLU2 is dat iets anders (openssh-sftp-server). Op de klant komen openssh-client, fuse-utils en sshfs. Vergeet vooral niet jezelf aan de fuse-groep toe te voegen. Start a.u.b. opnieuw op om problemen met fuse te voorkomen.




Geef in de terminal op de client het commando:
sshfs gebruikersnaam@ip-adres.v.server:/ /home/gebruikersnaam/aankoppelpunt
of
sshfs peter@20.12.19.53:/peter /home/peter/sshfs-koppel
En warempel, dat werkt. Als een tierelier!

De auteur Darrin Auxier noemt als voordelen:
  • automatisch versleutelde communicatie m.b.v. SSH
  • iedere map is aan te koppelen zonder herconfiguratie; zolang je maar toegang hebt tot een of andere map, wordt het hele systeem aangekoppeld.
  • werkt ook via internet

(Aan een paar kleine zaken die in het FullCircle-artikel ter sprake komen ben ik voor het gemak voorbij gegaan.)

Nog meer info:
https://help.ubuntu.com/community/SSHHowto
Engelse wikipedia info over publieke sleutel encryptie
How to Mont a Remote Folder using SSH on Ubuntu :: the How-to Geek maar deze is niet meer up-to-date waar het fuse, i.c. fusermount betreft.


© Peter Blok

donderdag 13 november 2008

FOUTJE!

N.B.: Virusscanner AVG in de fout!

Helaas is er een vervelend probleem opgetreden met de combinatie van AVG en Windows XP. Veel mensen krijgen hun pc niet meer aan de praat sinds een kleine week.
Volg de aanwijzingen in deze link van AVG zelf
http://www.avg.com/nl.faq.num-1574#faq_1574

Of deze
http://www.nucia.nl/forum/showthread.php?t=42813

Komt u er niet uit, bel me dan op 050 4031560