Wat is SSH
Het belang en de voordelen van een secure shell connection.
SSH staat voor Secure Shell. Het is een veilige manier om bestanden van je computer naar een server over te brengen.
Laten we eens teruggaan en kijken naar de geschiedenis van SSH. Voordat SSH bestond, was er nog geen geen veilige manier om verbinding te maken met externe computers. Om een connectie te leggen tussen twee computers die niet in de buurt van elkaar stonden, was al een hele uitvinding op zich. Het gebrek aan beveiliging tussen de twee computers was echter wel een probleem.
Stel je voor. Je hebt een belangrijk document dat je graag met een collega wilt delen. Aangezien je je document met de collega deelt, kan iedereen het document openen en lezen. Of in technische termen: iedereen die online is, kan de gegevens die je naar je collega verzendt, lezen en onderscheppen.
Telnet — De voorganger van SSH
Telnet is een reeks protocollen en regels die van toepassing zijn op het op afstand benaderen van een andere computer, het overnemen van de genoemde computer en het wijzigen ervan zonder in de buurt van die andere computer te zijn. Telnet wordt wel regelmatig geteisterd door beveiligings bedreigingen. In 1995 besloot daarom de oprichter van SSH om de software van Telnet te verbeteren en te vervangen door een zeer veilige manier van contact maken tussen computers. Hij vond uit hoe men op afstand toegang kon krijgen tot computers en zorgde ervoor dat invloeden van buitenaf de gegevens niet konden onderscheppen. De nieuwe software die hij bedacht, heette SSH. Met het SSH-protocol kunnen gebruikers nu de controle over hun externe servers overnemen zonder beveiligingsrisico’s.
De veiligheid van SSH
Even een korte metafoor om het proces van SSH uit te leggen. Als je een document naar een collega wilde sturen, stop je het document in een doos. De doos maak je dicht, met een slotje, zodat niemand de inhoud kon zien. Alleen jij en jouw collega hebben de sleutel.
Nadat de doos bij de collega was bezorgd door de postbezorger, zal de collega als reactie ook een doos naar jou versturen. Dicht geplakt, vergrendeld en al. Nadat jij de doos weer in bezit had, verwijder je alle tape en zie je dat het slot nog intact is. Je weet zo dat niemand anders eraan gezeten heeft en dat alleen jij en je collega die inhoud van deze doos hebben kunnen inzien.
Ja, we weten het. Dit alles klinkt omslachtig en onlogisch, en gelukkig is het gehele technische proces erg gemakkelijk. Het kost je slechts een minuutje werk.
Zo werkt SSH
SSH gebruikt verschillende verbindingen, zoals een TCP-verbinding (Transmission Control Protocol) wanneer het verbinding maakt met servers (of computers). Een TCP-verbinding wordt gebruikt als een betrouwbaar netwerk transportprotocol dat SSH kan gebruiken. Zodra de verbinding tot stand is gebracht, verzendt SSH de gegevens als pakketten die zijn geladen met genoemde gegevens informatie. Alle informatie in het pakket is versleuteld, zelfs de lengte van het pakket (omdat we moeten weten hoeveel gegevens er binnenkomen). De bericht authenticatiecode in het pakket is een code die door de server en de klant wordt bepaald. Aan de ontvangende kant wordt het pakket gedecodeerd door de server. Hij heeft namelijk de sleutel.
Op deze manier kun je toegang krijgen tot een computer via een onbeveiligd netwerk zoals internet, omdat SSH werkt door je datapakketten te versleutelen en niet door een open verbinding tussen de twee computers.
Secure Shell Connection
De SSH-verbinding wordt geïnitieerd door de klant die verbinding maakt met de SSH-server. Zodra je je computer hebt gestart en verbinding hebt gemaakt met de server, wordt er een kanaal geopend. Via het kanaal kan je communiceren en de gegevens beheren. Als opdrachtgever kan je verschillende kanalen of verbindingen openen en daarmee meerdere multiplex verbindingen mogelijk maken. Deze kanalen zijn allemaal afgesloten voor de buitenwereld en alleen tussen jou en de server of andere computer.
Multiplexing van SSH verbindingen en kanalen
Stel dat je met meerdere beveiligde shell-verbindingen via één TCP-verbinding wilt werken. Multiplexing van SSH-verbindingen zorgt ervoor dat, indien correct gebruikt, de operaties van SSH worden versneld. Bovendien kan het aspecten van SSH verbeteren, zoals het beter uitvoeren van opdrachten. Laten we je een doorloop geven van het proces om een verbinding of kanaal met SSH tot stand te brengen.
Zodra je verbinding hebt gemaakt met de server, stuurt de server een bericht terug dat lijkt op ‘Ik ondersteun deze versie van SSH’ – verwijzend naar je computer en het gebruik van SSH. Je wisselt informatie uit met de server over je compatibiliteit en de compatibiliteit van de server. Je deelt informatie over welke methode je beiden zal gebruiken om gegevens en versleutelde berichten te verzenden.
In feite onderhandelt je eigenlijk over de parameters met de server. Zodra deze allemaal zijn vastgesteld, authenticeer je je: je typt je wachtwoord in en de server zal je herkennen. Zodra de authenticatie is voltooid, maakt de server een kanaal en vervolgens heb je een Secure Shell-verbinding.
SSH Key
SSH maakt gebruik van drie technieken en er volgt een korte uitleg zodat je beter zal begrijpen hoe SSH werkt.
Symmetrische versleuteling
Symmetrische codering gebruikt een sleutel voor zowel codering als decodering. Bovendien heeft iedereen die toegang heeft tot de sleutel ook toegang tot het bericht dat wordt overgedragen.
Een algoritme voor sleuteluitwisseling voert het proces van symmetrische codering uit. Als een andere machine toegang krijgt tot de sleutel, kan deze het bericht nog steeds niet decoderen omdat het onderliggende algoritme voor sleuteluitwisseling onbekend is. Dit komt doordat de twee computers (host en cliënt) de gedeelde gegevens manipuleren en de geheime sleutel berekenen.
Asymmetrische versleuteling
Bij asymmetrische versleuteling worden twee SSH-sleutels gebruikt: private en publieke sleutels. De kracht van zo’n privé sleutel ligt in de privacy van de sleutel en het feit dat deze nooit bekend gemaakt mag worden. Dit komt doordat alleen de privésleutel berichten kan decoderen die met de openbare sleutel zijn versleuteld. Deze twee sleutels werken dus samen. Zodra een verbinding tot stand is gebracht, gebruikt de server de openbare sleutel om de authenticatie te bevestigen. Als de klant het bericht kan ontsleutelen, betekent dit dat hij of zij de privésleutel in bezit heeft.
Hashing SSH
Je kan een hash-algoritme eigenlijk zien als een streepjescode. De laatste cijfers op een streepjescode worden bepaald door alle andere cijfers in de streepjescode. Deze zelfde logica is van toepassing op hashing. Dit betekent dat als jij een van de streepjescode nummers wijzigt, de laatste nummers van de streepjescode ook moeten en zullen veranderen. Hashing werkt als volgt voor het hele bestand dat je wilt overbrengen. Het hash-algoritme geeft je een lang nummer (hexadecimaal) dat overeenkomt met alles wat in het bestand staat. Het is een manier om te controleren of het bestand intact is en alles bevat wat het zegt te doen.
Het verschil tussen hashing en de andere twee alternatieven van codering is dat je de hashing niet ongedaan kunt maken. Het is niet bedoeld om te worden ontsleuteld. SSH gebruikt hashing om de authenticiteit van berichten te verifiëren, zodat berichten niet kunnen worden onderschept en gemanipuleerd.
Als je een document hebt dat je wilt verzenden en je naam staat erop, komt de hash samen met het bestand door het kanaal om te verifiëren dat het in feite het echte document is.
SSH bij one.com
SSH implementeert een sterk versleutelingsalgoritme om de veiligheid van de communicatie tussen de partijen te waarborgen. Als je een Professional-pakket (of beter) bij ons heeft, ku je SSH eenvoudig inschakelen via je one.com configuratiescherm. In tegenstelling tot Mac- en Linux-gebruikers die alleen hun terminals kunnen gebruiken, moeten Windows-gebruikers een speciale SSH-client installeren. De freeware PuTTY wordt over het algemeen als de beste keuze hierin beschouwd.