Hoe Github-toegang te beveiligen met een SSH-sleutel

Admin

Een foto van de Github-mascotte voor de Github-webpagina.

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.

Een terminal met een voorbeeld van een openbare SSH-sleutel.

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.

Een terminal die de prompt voor de bestandslocatie voor een nieuwe SSH-sleutel toont.

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.

Een terminal die de wachtwoordprompt voor een nieuwe SSH-sleutel toont.

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'.

Een terminal die de optie Kopiëren toont in de contextmenuprompt.

Open een nieuwe browsersessie en navigeer vervolgens naar uw Github-startpagina.

Klik op uw profielpictogram in de rechterbovenhoek van de pagina.

Een screenshot van de standaard Github-startpagina.

Klik op “Instellingen” in de vervolgkeuzelijst.

Een screenshot waarin de optie Instellingen in het Github-profielmenu wordt gemarkeerd.

Selecteer 'SSH- en GPG-sleutels' in de linkerzijbalk van de instellingenpagina.

Een screenshot waarin de optie SSH- en GPG-sleutels in het Github-instellingenmenu wordt gemarkeerd.

Klik op de knop 'Nieuwe SSH-sleutel' naast de kop 'SSH-sleutels'.

Een screenshot waarin de knop Nieuwe SSH-sleutel op de pagina SSH- en GPG-sleutels wordt gemarkeerd.

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.

Beveiligde Github-toegang Ssh Key 09 Voeg Ssh Key-knop toe

Open een nieuwe terminalsessie en voer de volgende opdracht uit:

ssh-Tgit@github.com

Typ “ja” en druk vervolgens op Binnenkomen.

Een terminal die de prompt voor het vertrouwen van de SSH-vingerafdruk markeert.

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.

Een terminal die het korte bevestigingsbericht van Github benadrukt.

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'.

Een screenshot van een nieuwe alternatieve sleutel in Github.

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.

Een screenshot van de nieuw gewijzigde SSH-sleutel in Github.

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.

Een screenshot waarin de knop Verwijderen voor de nieuw gewijzigde SSH-sleutel wordt gemarkeerd.

Klik op 'Ik begrijp het, verwijder deze SSH-sleutel'.

Een screenshot waarin de laatste bevestigingsvraag voor het verwijderen van een SSH-sleutel wordt gemarkeerd.

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

Voer batchgrootte van afbeeldingen uit met gThumb in Linux
Voer batchgrootte van afbeeldingen uit met gThumb in Linux

Als uw werk het bewerken van afbeeldingen omvat, zult u het ermee eens zijn dat u soms een enkele...

Verplaats Unity Launcher naar de onderkant van het bureaublad in Ubuntu 16.04
Verplaats Unity Launcher naar de onderkant van het bureaublad in Ubuntu 16.04

Ubuntu 16.04 is officieel vrijgegeven door Canonical, en naast verschillende andere functies bren...

De geschiedenis van de opdrachtregel onder Linux beheersen
De geschiedenis van de opdrachtregel onder Linux beheersen

Als u veel tijd aan Linux besteedt, is het zinvol om te leren hoe u uw gebruik van de opdrachtreg...