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.
Inhoud
- Wat zijn SSH-sleutels?
- SSH-sleutels genereren voor Github
- SSH-sleutels toevoegen aan Github
- SSH-sleutels beheren
- Bestaande SSH-sleutels wijzigen
- SSH-sleutels verwijderen van Github
Opmerking: nieuw bij Git? Leren van onze handleiding om aan de slag te gaan.
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.
Goed om te weten: Lees meer over Public-Key Cryptography en hoe het uw online identiteit kan beveiligen GNU Kleopatra installeren onder Linux.
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:
sudoaptinstallssheval`ssh-agent -s`
Voer de volgende opdracht uit om het SSH-sleutel genereren tovenaar:
ssh-keygen-t ed25519 -C"[email protected]"
De wizard vraagt u vervolgens of u een aangepaste SSH-sleutelbestandsnaam voor uw sleutel wilt gebruiken. druk op Binnenkomen 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.
Opmerking: U kunt de wachtwoordprompt ook leeg laten als u een SSH-sleutel zonder wachtwoord wilt maken.
Voeg uw nieuw gegenereerde SSH-sleutel toe aan uw momenteel actieve SSH-agent:
ssh-add ~/.ssh/id_ed25519
Goed om te weten: als je nieuw bent bij Github, ontdek het dan enkele van de beste apps die u aan uw Github-repository moet toevoegen.
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:
cat ~/.ssh/id_ed25519.pub
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:
ssh-Tgit@github.com
Typ “ja” en druk vervolgens op Binnenkomen.
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:
sudoaptinstallssheval`ssh-agent -s`
Voer de volgende opdracht uit om een aparte SSH-sleutel voor uw nieuwe machine te maken:
ssh-keygen-t ed25519 -f ~/.ssh/id-ed25519-pc2 -C"[email protected]"
Typ een veilige wachtwoordzin voor uw nieuwe SSH-sleutel en druk vervolgens op Binnenkomen.
Voeg uw nieuwe alternatieve sleutel toe aan uw SSH-agent:
ssh-add ~/.ssh/id-ed25519-pc2
Druk de inhoud van uw openbare SSH-sleutel af en kopieer deze vervolgens naar het klembord van uw systeem:
cat ~/.ssh/id-ed-25519-pc2
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:
ssh-Tgit@github.com
Bestaande SSH-sleutels wijzigen
Naast het verzenden van nieuw gegenereerde sleutels naar Github, kun je ook bestaande SSH-sleutels wijzigen die je al in je machine hebt. Dit kan handig zijn als u dat al bent SSH-sleutels gebruiken als wachtwoordloze login in Linux.
Om een bestaande sleutel te wijzigen, navigeert u naar de map “.ssh” van uw machine:
cd ~/.ssh
Loop ssh-keygen
met de -p
, -o
En -f
vlaggen samen met uw SSH-sleutel. Hiermee kunt u het wachtwoord van een bestaande privésleutel wijzigen:
ssh-keygen-p-o-f ./id-ed25519
Opmerking: U kunt deze vlaggen ook gebruiken om een gewone SSH-sleutel om te zetten in een wachtwoordloze sleutel.
U kunt ook het ingebedde e-mailadres in uw openbare sleutel wijzigen met behulp van de -c
vlag:
ssh-keygen-c-C"[email protected]"-f ./id-ed25519
Laad uw SSH-agent opnieuw met uw nieuw bijgewerkte sleutel:
ssh-add ~/.ssh/id-ed25519
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:
eval`ssh-agent -s`
Voer de volgende opdracht uit om de persoonlijke SSH-sleutel in uw machine te verwijderen:
ssh-add-d ~/.ssh/id-ed25519
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:
ssh-Tssh@github.com
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. Lees meer over versleuteling van gegevens in rust door een gecodeerde cloudback-up met Rclone.
Ondertussen kunt u ook meer leren over automatisch repositorybeheer door met behulp van Git-hooks.
Afbeelding tegoed: Roman Synkevych via Unsplash. Alle wijzigingen en screenshots door Ramces Red.
Abonneer op onze nieuwsbrief!
Onze nieuwste tutorials rechtstreeks in uw inbox