Skip to content

SSH-sleutelverificatie gebruiken

8 de augustus de 2021
computer 1591018 1920 5be4787dc9e77c005201d939

Normaal gesproken, wanneer u inlogt op een externe server met SSH, doet u dit met een combinatie van gebruikersnaam en wachtwoord. Het gebruik van een wachtwoord is echter beperkt tot de lengte van het wachtwoord dat u kunt onthouden of wilt typen. Met SSH-sleutelauthenticatie biedt een versleutelde wachtwoordzin veiligere referenties dan praktisch is met een standaardwachtwoord. De cryptografische kracht van SSH-sleutelauthenticatie gaat verder dan wat een standaardwachtwoord kan evenaren.

Genereer uw SSH-sleutel

Open een terminalvenster op de clientcomputer die u wilt gebruiken om in te loggen op uw server en geef vervolgens de opdracht: ssh-keygen

type=”code”> Vervolgens wordt u gevraagd een bestandsnaam in te voeren voor uw nieuwe sleutel. Het wordt aanbevolen dat u de standaardinstelling (~/.ssh/id_rsa) accepteert. Selecteer en verifieer vervolgens een wachtwoordzin. Maak van deze wachtwoordzin een sterke. Wanneer de opdracht is voltooid, is uw sleutel klaar voor gebruik.

Kopieer uw sleutel naar de server

Gebruik SSH om uw sleutel naar de externe server te kopiëren. Geef het commando: ssh-copy-id USER@SERVER_IP

type=”code”> Waarbij USER de gebruikersnaam is en SERVER_IP het IP-adres van de server waarop u wilt inloggen. U wordt gevraagd om het USER-wachtwoord. Nadat u succesvol bent geverifieerd, wordt de SSH-sleutel gekopieerd en kunt u op de normale manier inloggen op de server. Omdat de client waarmee u inlogt de overeenkomende sleutel heeft die nu op de server staat, bent u ingelogd. Herhaal dit proces op elke clientcomputer die SSH naar de server moet sturen.

Sluit het af

Het wordt als een beste beveiligingspraktijk beschouwd om wachtwoordverificatie op servers uit te schakelen, waarbij uitsluitend wordt vertrouwd op SSH-sleutelverificatie. Pas de configuratie van de SSH-daemon dienovereenkomstig aan. Open het configuratiebestand door het volgende uit te voeren: sudo nano /etc/ssh/sshd_config

type=”code”> Zoek in dat bestand naar de regel: #PasswordAuthentication yes

type = “code”> Commentaar op de regel verwijderen door de hashtag te verwijderen en vervolgens te wijzigen Ja tot Nee. Zoek vervolgens naar de regel: #PubkeyAuthentication yes

type=”code”> Maak ook de commentaar op die regel ongedaan.

Screenshot van het bestand sshd_config gevonden op Linux.

Sla het bestand op en sluit het. Start de SSH-daemon opnieuw met het commando: sudo systemctl restart sshd

type=”code”> Als u nu probeert om SSH naar die server te sturen vanaf een client die geen overeenkomende SSH-sleutel bevat, wordt u de toegang geweigerd.

Waar wordt de SSH-sleutel opgeslagen?

Log in op de server waarnaar u uw sleutels hebt gekopieerd. Geef het commando: less ~/.ssh/authorized_keys

type=”code”> U ziet alle sleutels die u van clients hebt verzonden (met behulp van de ssh-kopie-id opdracht). Om SSH-sleutelauthenticatie van een bepaalde client in te trekken, verwijdert u de regels die overeenkomen met de hostnaam van de client (de hostnaam is het laatste stukje informatie in de sleutel).

Screenshot van het bestand Authorized_keys gevonden op Linux.