SSH: onmisbaar voor power users

  • 10 april 2013
  • Leestijd: 2 min
  • Combell

SSH is een netwerkprotocol dat gebruikt wordt om op een veilige manier te communiceren met een server.  De meest courante toepassing van dit protocol is het benaderen van de shell op afstand bij Linux- en Unix-servers. Concreet betekent dit dat u vanop uw eigen computer commando’s kan uitvoeren op een andere computer, bijvoorbeeld een server van Combell.

Hoewel onze hostingpakketten in essentie op een shared hosting omgeving draaien, beschouwing wij deze omgeving als een PaaS (Platform As A Service). Ons doel is om de omgeving te verrijken met extra features die de moderne developer nodig heeft. SSH-toegang op Linux hosting is een onmisbare feature.

De webindustrie verandert constant en het verwachtingspatroon van de developer ook. Tien jaar geleden volstond FTP nog als enige toegang tot hostingpakketten, vandaag zijn er tal van nieuwe technologieën die hoofzakelijk op SSH berusten. SSH in functie van softwaredeployment, bijvoorbeeld. De beschikbaarheid van sftp, scp en rsync zorgen ervoor dat developers sneller en efficiënter hun code kunnen deployen naar onze hostingomgeving.

Developers maken ook dankbaar gebruik van versiecontrole tools zoals Git en Subversion. Zowel de git- als de svn-binary zijn beschikbaar binnen de SSH-shell. Zo kan u niet enkel data pushen (via sftp, scp en rsync), maar ook gewoon data binnentrekken via Git of Subversion.

Deployment is belangrijk, maar het is niet het enige wat klanten via SSH willen doen. Het bekijken van logfiles, het beheren van het filesystem en natuurlijk ook het toekennen van permissies zijn belangrijke features. Elke SSH-jail heeft een vaste commandoset die u toelaat om uw pakket optimaal te beheren: filteren via grep, downloaden via curl of wget, disk usage via du, beheren van archives via tar, … In totaal hebben we 156 van de meest courante binaries beschikbaar gemaakt.

Om de veiligheid van onze systemen en van de gegevens van onze klanten te garanderen, werd besloten om een specifieke architectuur uit te tekenen om toegang tot onze systemen via SSH te voorzien. In tegenstelling tot traditionele hostingopstellingen, verbindt u niet rechtstreeks op de webserver. De webserver draait apart en is specifiek getuned om zo performant mogelijk uw sites te hosten.

Een aparte pool van dedicated SSH-servers verwerken echter de SSH-connecties. Voor elke webserver is een SSH-server voorzien en voor elk hostingpakket is een aparte SSH-jail voorzien. Deze jail zorgt ervoor dat de klant enkel toegang heeft tot zijn bestanden en niet buiten de grenzen van zijn pakket kan. De bestanden van het pakket staan op een aparte storagenode. Zo is het mogelijk om deze bestanden beschikbaar te maken op zowel de webserver als de SSH-server.