Remote administratie Als administrator hebt u verschillende mogelijkheden om een Linux systeem van op afstand te beheren. Populaire toepassingen zijn bijvoorbeeld Webmin en VNC. Het gebruik van deze twee toepassingen zijn in de meeste omstandigheden echter sterk af te raden. Webmin laat toe systemen van op afstand te beheren via een web interface. Op zich is het een uitstekend middel voor het beheer van computers, maar soms kunnen de wijzigingen die door Webmin gemaakt worden voor problemen zorgen wanneer er nog andere software gebruikt wordt die wijzigingen maakt aan de configuratie van het systeem of wanneer u zelf wijzigingen wilt maken. VNC laat toe het bureaublad van een systeem van op afstand over te nemen. Een server beschikt meestal niet over een GUI dus VNC is dan ook nutteloos. Wanneer het toch nodig is grafische toepassingen van op afstand te starten, maken we beter gebruik van” X forwarding” over SSH.
Secure Shell – OpenSSH Het secure shell protocol werd ontwikkeld als onderdeel van OpenBSD. Met SSH is het mogelijk om van op afstand in te loggen op een systeem en het volledig te beheren. Wanneer u via SSH aangemeld bent, kunt u met het systeem werken net alsof hij vlak voor u zou staan. Je kunt programma’s starten, “port mapping” toepassen enz… Het dataverkeer bij SSH is altijd versleuteld. Installatie OpenSSH is een open source SSH server die we met Apt kunnen installeren: apt-get install openssh-server
Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand: ssh
Het vorige commando gebruikt de huidige gebruikersnaam om aan te melden. Om aan te melden als een andere gebruiker kunt u twee methodes gebruiken: ssh <username>@ ssh –l <username>
Het is ook mogelijk direct een commando naar het systeem te versturen ssh <username>@
Een voorbeeld: ssh –l timothy backend.flynet.local
5 5
Configuratie De SSH client en service (sshd) kunnen worden geconfigureerd aan de hand van enkele configuratie bestanden: Bestand /etc/sshd_config /etc/ssh/ssh_config $HOME/.ssh/known_hosts
Functie Configuratie instellingen voor de service Configuratie instellingen voor de client Bestand met public keys van de gekende hosts
Sleutels Standaard melden gebruikers aan met behulp van hun gebruikersnaam en wachtwoord. Het is echter ook mogelijk gebruik te maken van sleutels. Deze sleutels zijn gebaseerd op het principe van public/private key encryptie. De gebruiker genereert een sleutelpaar, die men de public en private key noemt. De publieke sleutel wordt overhandigd aan mensen die boodschappen willen zenden aan de gebruiker. De publieke sleutel wordt gebruikt om deze boodschappen te versleutelen. De boodschappen kunnen enkel ontcijferd worden met de private sleutel, die uiteraard zorgvuldig bewaard dient te worden. Om het systeem van sleutels te gebruiken met SSH moet de gebruiker een nieuw key-pair aanmaken met het commando “ssh-keygen”. Dit commando plaatst de public en private key in $HOME/.ssh/. Op de server waarmee de gebruiker wil verbinden moet er een een .ssh map zijn in de home directory van die gebruiker. De rechten 700 moeten toegepast worden op die map en 600 op de bestanden zelf: chmod 700 $HOME/.ssh chmod 600 $HOME/.ssh/*
Tijdens de creatie van de sleutels wordt er om een wachtwoord gevraagd, deze mag leeg zijn, maar gebruik niet het gewone wachtwoord, want dan is de ganse opzet wat overbodig. Om OpenSSH te gebruiken met de sleutels, dient de publieke sleutel te worden gekopieerd naar het systeem waar moet worden ingelogd. (De private key blijft geheim!). Dit kan bijvoorbeeld gedaan worden met behulp van het programma scp (secure copy). scp $HOME/.ssh/identity.pub user@host2:~
Daarna dient te worden ingelogd op het andere systeem, en dient de overgebrachte sleutel te worden toegevoegd aan het bestand $HOME/.ssh/authorized_keys. Hierin dienen alle publieke sleutels te worden ondergebracht van ieder systeem waarvan de gebruiker zich wil aanmelden. ssh user@host2 cat identity.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Bij de volgende aanmelding zal het paswoord van uw private sleutel gevraagd worden.
5 6
X-fowarding Het is ook mogelijk grafische programma’s over SSH te starten. Deze programma’s worden dan door de X server op uw lokale computer weergegeven. U moet hiervoor de –X parameter gebruiken: ssh user@host -X
SSH client en X server voor Windows De lokale computer hoeft helemaal geen Linux systeem te zijn. Het is perfect mogelijk grafische programma’s van een Linux computer op uw Windows desktop weer te geven. Eerst en vooral zult u een SSH client moeten installeren, bijvoorbeeld Putty. (http://www.chiark.greenend.org.uk/~sgtatham/putty/) Daarnaast moet u een X11 server installeren, bijvoorbeeld Xming. (http://sourceforge.net/xming) Wanneer u Putty start, krijgt u het volgende scherm te zien:
U moet hier het IP adres of de naam van de server opgeven. Standaard wordt poort 22 gebruikt. Zoals u kunt zien, kan Putty ook gebruikt worden om andere sessies op te zetten. De toevoeging van seriele communicatie in de nieuwere versies van Putty kan handig zijn voor Vista gebruikers.
5 7
Om er voor te zorgen dat u grafische programma’s kunt starten, moet u Xming eerst Xming opstarten. Het programma nestelt zich in de system tray en is verder niet zichtbaar. In Putty, onder de sectie Connection/SSH vindt u de sectie X11:
U moet hier de optie “X11 forwarding” activeren en omdat de X server op onze eigen computer draait, geven we “localhost” op als location. Klik daarna op “Open” om de verbinding op te zetten. U kunt nu een grafisch programma starten via de Putty console en deze zal automatisch op uw desktop verschijnen. Het is belangrijk om te begrijpen dat deze toepassingen lokaal weergegeven worden maar eigenlijk draaien op de andere computer. Dit betekend dat u geen toegang hebt tot de bestanden op uw lokale computer. U kunt natuurlijk uw bestanden delen en zo benaderen.
5 8
De volgende screenshot toont de integratie van externe toepassingen op uw desktop:
Hier heb ik de toepassing “gedit”, een simpele text editor in GNOME, gestart. U kunt deze manier van werken bijvoorbeeld toepassen om CPU intensieve toepassingen te gebruiken op oudere systemen. U laat het zware werk gewoon over aan den centrale computer. U bent hierbij niet beperkt tot communicatie in het lokale netwerk. Dit is perfect toepasbaar via het internet. SSH client X server voor MacOS Mac gebruikers hoeven in principe geen extra software te gebruiken. Met behulp van het programma “Terminal” kunt u een SSH sessie opzetten met de externe computer en er wordt standaard een X server geïnstalleerd op het systeem . Gebruik spotlight en voer “X11” in, dan kunt u de X server meteen opstarten.
5 9