Hoe Github-toegang te beveiligen met een SSH-sleutel
Het koppelen van een SSH-sleutel aan Github is een van de belangrijkste stappen bij het beveiligen van uw account. Hiermee kun je de kracht van public-key cryptografie benutten om je Git-repository’s te beschermen. Dit artikel laat zien wat SSH-sleutels zijn en hoe je ze kunt gebruiken om je Github-account te versterken.
Wat zijn SSH-sleutels?
In wezen zijn SSH-sleutels openbare sleutels die u op een externe server opslaat. Deze fungeren als een authenticatieproxy waarmee u verbinding kunt maken en kunt communiceren met machines zonder dat u een gebruikersnaam en wachtwoord hoeft op te geven.
De manier waarop het werkt is dat wanneer u via SSH verbinding maakt met een machine, uw lokale computer een bericht verzendt dat is ondertekend met uw persoonlijke SSH-sleutel. De externe machine gebruikt vervolgens uw openbare SSH-sleutel om de authenticiteit van het bericht te verifiëren en u in te loggen.
Github gebruikt dezelfde aanpak om uw identiteit op zijn servers te verifiëren. De website gebruikt uw openbare sleutel wanneer u uw repository uploadt en wijzigt. Dit zorgt ervoor dat u uw Github-referenties niet openbaar maakt wanneer u commits pusht.
SSH-sleutels genereren voor Github
Open om te beginnen een nieuwe terminalsessie met behulp van de applicatiestarter van uw distro.
Zorg ervoor dat u OpenSSH op uw machine hebt geïnstalleerd en dat de SSH-agent-daemon momenteel actief is:
Voer de volgende opdracht uit om de wizard SSH-sleutel genereren te starten:
De wizard vraagt u vervolgens of u een aangepaste SSH-sleutelbestandsnaam voor uw sleutel wilt gebruiken. Druk op Enter om de standaardnaam en locatie te accepteren.
Typ een wachtwoord voor uw nieuwe SSH-sleutel. Dit zal dienen als de wachtwoordzin van uw lokale machine wanneer deze verbinding maakt met uw Github-account.
Voeg uw nieuw gegenereerde SSH-sleutel toe aan uw momenteel actieve SSH-agent:
SSH-sleutels toevoegen aan Github
Nu uw nieuwe SSH-sleutel actief is, kunt u nu uw lokale machine aan uw Github-account koppelen. Voer om te beginnen de volgende opdracht uit om uw openbare SSH-sleutel af te drukken:
Markeer uw openbare SSH-sleutel, druk op de rechtermuisknop en selecteer vervolgens ‘Kopiëren’.
Open een nieuwe browsersessie en navigeer vervolgens naar uw Github-startpagina.
Klik op uw profielpictogram in de rechterbovenhoek van de pagina.
Klik op “Instellingen” in de vervolgkeuzelijst.
Selecteer ‘SSH- en GPG-sleutels’ in de linkerzijbalk van de instellingenpagina.
Klik op de knop ‘Nieuwe SSH-sleutel’ naast de kop ‘SSH-sleutels’.
Selecteer het tekstvak ‘Titel’ en geef een naam op voor uw sleutel.
Klik op het tekstvak ‘Sleutel’ en druk vervolgens op Ctrl + V om uw SSH-sleutel te plakken.
Klik op “SSH-sleutel toevoegen” om uw nieuwe instellingen vast te leggen.
Open een nieuwe terminalsessie en voer de volgende opdracht uit:
Typ “ja” en druk vervolgens op Enter.
Als u dat doet, wordt er een nieuwe SSH-sessie gestart naar een van de ontvangende servers van Github. Als uw sleutel correct werkt, wordt er een kort bericht afgedrukt waarin uw SSH-verbinding wordt bevestigd.
SSH-sleutels beheren
Hoewel een enkele SSH-sleutel voor de meeste gebruikers voldoende is, zijn er gevallen waarin u een Git-repository moet synchroniseren die op meerdere machines wordt gehost. Om dit te doen, moet u machinespecifieke SSH-sleutels importeren.
Open een nieuwe terminalsessie op de computer die u aan Github wilt koppelen.
Zorg ervoor dat de OpenSSH-daemon zowel op het systeem is geïnstalleerd als actief is:
Voer de volgende opdracht uit om een aparte SSH-sleutel voor uw nieuwe machine te maken:
Typ een veilige wachtwoordzin voor uw nieuwe SSH-sleutel en druk vervolgens op Enter.
Voeg uw nieuwe alternatieve sleutel toe aan uw SSH-agent:
Druk de inhoud van uw openbare SSH-sleutel af en kopieer deze vervolgens naar het klembord van uw systeem:
Ga terug naar de pagina “SSH- en GPG-sleutels” van uw Github-account.
Klik nogmaals op de knop ‘Nieuwe SSH-sleutel’.
Geef een uniek label op voor uw nieuwe sleutel en plak vervolgens de inhoud van uw klembord onder het tekstvak ‘Sleutel’.
Klik op “SSH-sleutel toevoegen” om uw nieuwe instellingen toe te passen.
Test of uw nieuwe machine uw beveiligde sleutel gebruikt om verbinding te maken met Github door in te loggen via SSH:
Naast het verzenden van nieuw gegenereerde sleutels naar Github, kunt u ook bestaande SSH-sleutels wijzigen die u al in uw machine heeft. Dit kan handig zijn als u al SSH-sleutels gebruikt als wachtwoordloze login in Linux.
Om een bestaande sleutel te wijzigen, navigeert u naar de map “.ssh” van uw machine:
Voer ssh-keygen
uit met de vlaggen -p
, -o
en -f
samen met je SSH-sleutel. Hiermee kunt u het wachtwoord van een bestaande privésleutel wijzigen:
Je kunt het ingebedde e-mailadres in je publieke sleutel ook wijzigen door de vlag -c
te gebruiken:
Laad uw SSH-agent opnieuw met uw nieuw bijgewerkte sleutel:
Vervang de overeenkomstige openbare SSH-sleutel uit uw Github-profiel.
SSH-sleutels verwijderen van Github
Open een nieuwe terminalsessie en start vervolgens de SSH-agentdaemon:
Voer de volgende opdracht uit om de persoonlijke SSH-sleutel in uw machine te verwijderen:
Ga terug naar de categorie “SSH- en GPG-sleutels” van uw Github-account.
Blader door de lijst met SSH-sleutels op deze pagina en klik vervolgens op ‘Verwijderen’ op de sleutel die u wilt verwijderen.
Klik op ‘Ik begrijp het, verwijder deze SSH-sleutel’.
Zorg ervoor dat uw oude SSH-sleutel nu niet meer bestaat door een SSH-sessie te starten op een van de servers van Github:
Het koppelen van een SSH-sleutel om uw Github-account te beveiligen is slechts de eerste stap om te begrijpen hoe cryptografie en encryptie met publieke sleutels werken. Leer meer over versleuteling van gegevens in rust door een gecodeerde cloudback-up te maken met Rclone.
Ondertussen kun je ook meer leren over automatisch repositorybeheer door Git-hooks te gebruiken.
Afbeelding: Roman Synkevych via Unsplash. Alle wijzigingen en screenshots door Ramces Red.
Geef een reactie