Ga naar inhoud

SSH-sleutelgeneratie

In dit artikel

Het gebruik van SSH-sleutels stelt u in staat om het invoeren van het wachtwoord van de externe gebruiker te vermijden en dit te vervangen door een moeilijk te raden SSH-sleutel, waardoor het proces van serverbeveiliging veiliger wordt.

Informatie

Een SSH-sleutel is een cryptografische sleutel die wordt gebruikt om een gebruiker te verifiëren bij het verbinden met een externe server via het SSH-protocol.

Er zijn twee soorten SSH-sleutels:

  1. Een openbare sleutel is een sleutel die naar een externe server kan worden verzonden voor identificatie. Deze wordt gebruikt om gegevens te versleutelen die alleen kunnen worden ontgrendeld met de bijbehorende privésleutel. De privésleutel kan ook worden gebruikt om gegevens te versleutelen, die vervolgens worden ontgrendeld door de openbare sleutel.

  2. Een privésleutel is een sleutel die geheim moet worden gehouden op de lokale machine van de gebruiker. Deze wordt gebruikt om gegevens te ontgrendelen die zijn versleuteld met de openbare sleutel.

Om verbinding te maken met een server met behulp van SSH-sleutels, moet u een sleutelpaar (openbaar en privé) maken op de lokale machine en vervolgens de openbare sleutel kopiëren naar de externe server. Het is dan mogelijk om verbinding te maken met de server zonder het wachtwoord van de externe gebruiker op te geven. Meestal wordt de privésleutel gegenereerd met een wachtwoord, en u moet dit wachtwoord nog steeds invoeren bij het verbinden.

SSH-sleutelgeneratie voor Linux/MacOS-besturingssystemen

Een SSH-sleutel maken

  1. Maak verbinding met de server via SSH.

  2. Genereer een SSH-sleutel op de lokale machine. Voer hiervoor het volgende commando uit in een terminal:

    ssh-keygen -t rsa
    

    Na het uitvoeren van het commando wordt u gevraagd om een bestandsnaam en locatie voor de sleutel te selecteren. Standaard wordt deze opgeslagen in de /.ssh/-map en is de bestandsnaam id_rsa.

    Vervolgens wordt u gevraagd om een wachtwoordzin in te voeren om de SSH-verbinding verder te beveiligen. U hoeft geen wachtwoordzin in te voeren:

    Enter file in which to save the key (/root/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    De vingerafdruk van de sleutel en de afbeelding ervan verschijnen in de terminal:

    The key's randomart image is:
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    

    U kunt commando's gebruiken om de gemaakte SSH-sleutels weer te geven:

    • cat ~/.ssh/id_rsa - opzoeken van de privésleutel;
    • cat ~/.ssh/id_rsa.pub - opzoeken van de openbare sleutel.

    Vervolgens moet u de openbare sleutel aan de server toevoegen. Voer hiervoor het volgende commando in, waarbij u username vervangt door de gebruikersnaam op de server en ip_address door het IP-adres van de server:

    ssh-copy-id <username>@<ip_address>
    
    • <username> — gebruikersnaam;
    • <ip_address> — openbaar IP-adres van de server.

    Na het invoeren van het commando wordt u om het wachtwoord van het account op de server gevraagd. Na het invoeren van het wachtwoord wordt de openbare sleutel gekopieerd naar de server en toegevoegd aan het bestand ~/.ssh/authorised_keys op de server.

    Zodra u de bovenstaande stappen heeft voltooid, moet u het commando invoeren om verbinding te maken met de server met behulp van een SSH-sleutel:

    ssh <username>@<ip_address>
    

Een SSH-sleutel maken tijdens een Linux-herinstallatie

De SSH-sleutel kan worden toegevoegd tijdens de herinstallatie van het besturingssysteem. Voer hiervoor, voordat u de installatie van een nieuw besturingssysteem in Invapi start, het veld Public ssh key in op het tabblad Reinstall:

Opmerking

Zie voor een voorbeeld van een verzoek voor herinstallatie van een besturingssysteem API-methoden voor herinstallatie van besturingssystemen

SSH-sleutelgeneratie voor Windows

Informatie

Er zijn twee methoden voor het genereren van SSH-sleutels op het Windows-besturingssysteem: de ene met behulp van de OpenSSH-client en de andere met behulp van de PuTTY-client. Hieronder vindt u instructies voor het genereren van sleutels met behulp van beide methoden.

OpenSSH-client

Om een SSH-sleutel te genereren met behulp van de OpenSSH-client, moet u de volgende reeks acties uitvoeren:

  1. Controleer of de OpenSSH-client aanwezig is. Ga hiervoor naar Parameters >> Applications >> Additional Components en typ SSH in de zoekbalk.

    Als de client niet is geïnstalleerd, klikt u op de knop Add Component en zoekt u deze met behulp van de zoekbalk. Klik vervolgens op de knop Install.

    U kunt ook de opdrachtregel gebruiken om te controleren of de OpenSSH-client is geïnstalleerd:

    ssh -V
    
  2. Ga naar de opdrachtprompt (sneltoets Win+R >> typ cmd >> druk op OK) en voer het commando in:

    ssh-keygen
    

    Na het uitvoeren van het commando wordt u gevraagd om een bestandsnaam en locatie voor de sleutel te selecteren. Standaard wordt deze opgeslagen in de /.ssh/-map en is de bestandsnaam id_rsa.

    Vervolgens wordt u gevraagd om een wachtwoordzin in te voeren om de SSH-verbinding verder te beveiligen. Dit is optioneel:

    Enter file in which to save the key (.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:```
    

    De vingerafdruk van de sleutel en de afbeelding ervan verschijnen in de terminal:

    The key's randomart image is:
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    
  3. Om te controleren of sleutels zijn gegenereerd, gaat u naar de eerder opgegeven map op het lokale apparaat. Bijvoorbeeld C:\Users\user_name\.ssh:

PuTTY

  1. Download en installeer de Putty-client op uw lokale apparaat;

  2. Voer puttygen.exe uit vanuit het menu Start.

  3. Selecteer het sleuteltype RSA en druk op de knop Generate:

  4. Beweeg de muis meerdere keren in willekeurige richtingen in het venster Key Generation, deze actie zal een willekeurig ruispatroon genereren:

  5. Voer om de sleutel met een wachtwoord te beveiligen het wachtwoord in bij Key passphrase en herhaal het bij Confirm passphrase. Als geen extra beveiliging vereist is, laat u deze velden leeg:

    Klik op de knop Save Private Key om de privésleutel op te slaan.

    Klik op de knop Save Public Key om de openbare sleutel op het schijfstation op te slaan. Deze sleutel wordt gebruikt voor authenticatie op de server.

  6. Kopieer de openbare SSH-sleutel naar de server:

    scp </path/to/file> <username>@<ip_address></path/to/destination>
    
    • </path/to/file> — volledige pad naar de openbare sleutel op de lokale computer;
    • <username> — gebruikersnaam;
    • <ip_address> — openbaar IP-adres van de server;
    • </path/to/destination> — pad voor het opslaan van de openbare sleutel op de server.

Een SSH-sleutel maken tijdens een Windows-herinstallatie

Het is mogelijk om de SSH-sleutel toe te voegen tijdens de herinstallatie van het besturingssysteem. Voer hiervoor, voordat u de installatie van een nieuw besturingssysteem in Invapi start, het veld Public ssh key in op het tabblad Reinstall:

Opmerking

Zie voor een voorbeeld van een verzoek voor herinstallatie van een besturingssysteem API-methoden voor herinstallatie van besturingssystemen

SSH-sleutel verwijderen

Om een SSH-sleutel te verwijderen, moet u

  • Het bestand authorised_keys openen, dat zich meestal in de /.ssh/-map bevindt. U kunt een teksteditor voor de opdrachtregel gebruiken, zoals Vim of Nano.
  • De regel vinden die de openbare sleutel bevat die u wilt verwijderen. Elke regel komt overeen met een sleutel.
  • De regel met de openbare sleutel die u wilt verwijderen, uit het bestand authorized_keys verwijderen.
  • De wijzigingen opslaan en het bestand sluiten.
  • De SSH-service op de server opnieuw starten zodat de wijzigingen van kracht worden. In de meeste gevallen kan dit worden gedaan met sudo service ssh restart of sudo systemctl restart sshd.
  • Controleren of de sleutel niet langer werkt voor SSH-inloggen.

Opmerking

Als het Windows-besturingssysteem is geïnstalleerd op het lokale apparaat van de gebruiker, kunt u ook het bestand known_hosts vinden en de regel met de bijbehorende SSH-sleutel verwijderen

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×