SSH-sleutels gebruiken voor veilige serverlogin

Inleiding tot ssh-sleutels

Deze handleiding beschrijft hoe je SSH-sleutels kunt gebruiken om in te loggen op een server, waardoor je het steeds invoeren van je wachtwoord vermijdt. Het is een efficiënte en veilige manier om verbinding te maken, vooral als je vaak inlogt. We gaan ervan uit dat je werkt met Windows en Putty om in te loggen op een Linux-server. Dit proces vereenvoudigt je dagelijkse werkzaamheden aanzienlijk.

Benodigdheden: putty en puttygen downloaden

Om te beginnen, moet je de benodigde tools downloaden van de Putty website. Dit zijn: Putty (de SSH-client), PuTTYgen (voor het genereren van sleutels) en Pageant (een wachtwoordbeheerder voor je sleutels). Zorg ervoor dat je de juiste versies voor jouw systeem downloadt. De downloads bevinden zich op de officiële Putty website. Installeer ze op je lokale computer.

Kluchels genereren op de server

Log eerst in op je Linux-server met je gebruikelijke wachtwoord. Maak vervolgens een map met de naam .ssh in je home directory. Geef deze map de juiste permissies: chmod 700 .ssh. Nu, genereer een DSA-sleutel met het commando: ssh-keygen -t dsa. Je wordt gevraagd om een bestandsnaam en een wachtwoordzin (passphrase) in te voeren. Gebruik een sterke, maar memorabele passphrase.

Public key toevoegen aan authorized_keys

Voeg de inhoud van het id_dsa.pub bestand toe aan het authorized_keys bestand op de server. Dit doe je met het commando: cat id_dsa.pub >> authorized_keys. Zorg ervoor dat het authorized_keys bestand de juiste permissies heeft (chmod 600 authorized_keys). Deze stap is cruciaal voor authenticatie op basis van sleutels.

Lokale sleutel voorbereiden met puttygen

Kopieer het id_dsa bestand (privé sleutel) van de server naar je lokale computer. Open PuTTYgen en selecteer 'Actions' -> 'Load'. Selecteer het id_dsa bestand en voer je passphrase in. Sla vervolgens de sleutel op in een Putty-begrepen formaat (.ppk) door op 'Save private key' te klikken en het bestand bijvoorbeeld mijn_naam.ppk te noemen. Sla ook de public key op als mijn_naam.pub.

Putty configureren voor sleutelauthenticatie

Open Putty en ga naar de sessie-instellingen voor je server. Klik op 'Connection' -> 'SSH' -> 'Auth' en selecteer het .ppk bestand dat je zojuist hebt gemaakt in het veld 'Private key file for authentication'. Sla de sessie op zodat je hem later gemakkelijk kunt laden. Vanaf nu zou je met je sleutel in moeten kunnen loggen, je passphrase wordt dan gevraagd.

Pageant gebruiken voor wachtwoordvrij inloggen

Om het invoeren van de passphrase te vermijden, kun je Pageant gebruiken. Pageant bewaart je privésleutel in het geheugen. Maak een snelkoppeling naar Pageant en voeg de sleutel toe via het menu. Je kunt de snelkoppeling ook aanpassen zodat hij automatisch de sleutel laadt: "C:\Program Files\PuTTY\pageant.exe C:\Program Files\PuTTY\mijn_naam.ppk". Start Pageant via deze snelkoppeling en voer je passphrase in. Vanaf dat moment hoef je de passphrase niet meer in te voeren.

Veiligheidsoverwegingen: passphrase opties

Het gebruik van een lege passphrase is handig, maar brengt aanzienlijke veiligheidsrisico's met zich mee. Als je privésleutel in verkeerde handen valt, kan iemand zonder jouw toestemming toegang krijgen tot je server. Overweeg altijd een sterke passphrase te gebruiken, zelfs als dit betekent dat je deze af en toe moet invoeren. Het is een kleine moeite in vergelijking met de mogelijke gevolgen van een gecompromitteerde sleutel.

Probleemoplossing: authorized_keys aanpassen

In sommige gevallen, vooral met oudere serverconfiguraties, kan het nodig zijn om de authorized_keys file aan te passen. Verwijder de domeinnaam aan het einde van de regel in het authorized_keys bestand. De regel zou er dan ongeveer zo uit moeten zien: gebruikersnaam@hostname. Dit kan nodig zijn om de authenticatie te laten werken.