How-toRaspberryUITGELICHT

Met een SSH key inloggen op een Raspberry Pi

Ben je het ook moe om iedere keer een gebruikersnaam én wachtwoord in te tikken als je op je Raspberry Pi via SSH inlogt? Hier hebben we een oplossing voor gevonden, welke ook nog eens beveiligingsvoordelen met zich mee brengt. We maken een public SSH key en een private SSH key aan om de Raspberry Pi te benaderen. De public SSH key wordt op de Raspberry Pi (Server Side) opgeslagen en de prive SSH key wordt door PuTTy (Client Side) gebruikt voor de authenticatie bij het inloggen.

 

Benodigdheden

Als je PuTTY installeert wordt er op je PC een ook ander programma geïnstalleerd: PuTTy Key Generator. Dit programma gebruiken we om de private & public SSH keys te genereren. Start PuTTY Key Generator op en klik op de Generate¹. Je moet nu met je muis bewegen onder de groene balk², van links naar rechts, van boven naar beneden. Gewoon kris-kras dus! Nadat je de muis voldoende bewogen hebt zie je dat de balk helemaal groen is en is de public SSH key aangemaakt³.

SSH Key Server Side

Log nu met PuTTY (gebruiker pi) in op je Raspberry Pi en voer onderstaande commando’s uit:


Er wordt nu een nieuw, leeg bestand aangemaakt in de nano editor. Kopieer in PuTTY Key Generator de public key (beginnend met “ssh’) en plak deze in de nano editor door middel van de rechtermuisknop. Sla het bestand op door op Ctrl+X te drukken, gevolgd door Y en Enter.

Geef vervolgens onderstaande commando’s in:


Zoek in het bestand “sshd_config” de regel “AuthorizedKeysFile” en haal het #-teken aan het begin van de regel weg. Sla het bestand op door op Ctrl+X te drukken, gevolgd door Y en Enter.

Herstart de Raspberry Pi:

SSH Key Client Side

Ga terug naar PuTTY Key Generator en klik op Save private key⁴. Je krijgt de vraag of je de private key wilt opslaan zonder een (extra) wachtwoord. Beantwoord deze vraag met Ja. Sla de private key op een locatie op je PC op. Eventueel kun je de public key ook op je PC opslaan, maar dat is niet nodig.

Open PuTTY en geeft het IP-adres van je Raspberry Pi in. Zorg er ook voor dat bij Port de waarde 22 staat en bij Connection type SSH is geselecteerd. Ga nu naar Connection > SSH > AUTH. Klik op Browse onder “Private key file for authentication”. Selecteer de private key die je eerder op je PC hebt opgeslagen. Tot slot ga je nu aan de linkerkant weer terug naar Session (helemaal bovenaan) en klik je op Save.

Als je alles goed gedaan hebt kun je nu met het aangemaakt SSH key inloggen! Test dit ook, aangezien we het inloggen via een gebruikersnaam en wachtwoord uit gaan schakelen. Dit zorgt voor extra beveiliging.

Om in te loggen met een wachtwoord uit te schakelen geef je onderstaand commando in:


Er staan in de bestand drie regels die op no moeten komen te staan (vergeet eventueel ook niet om het #-teken voor de regel s weg te halen).


Sla het bestand op door op Ctrl+X te drukken, gevolgd door Y en Enter. Tot slot moeten we de ssh-service herstarten om de wijzigingen door te voeren:


Je kunt nu eenvoudiger met SSH inloggen en je Raspberry Pi is ook nog eens beter beveiligd tegen het grote, boze internet!

4 gedachten over “Met een SSH key inloggen op een Raspberry Pi

  • Hoi leuk artikel, volgend de duidelijke instructies vergat ik toch het hekje te verwijderen voor “AuthorizedKeysFile”. desondanks werkte het aanloggen zonder password.

    Met vriendelijke groet,
    Wouter

    Beantwoorden
  • Ik heb blijkbaar ergens een foutje gemaakt. Nu kan ik niet meer inloggen via Putty. Krijg de melding
    Putty Fatal Error,
    Disconnected: No supported authentification methods available (server sent: publickey)

    Beantwoorden
    • Aanvullend op eerder bericht.

      Ik heb alle stappen nogmaals doorlopen.
      Als ik in Putty opstart met een saved session, dan kom ik netjes in het opstartscherm.
      Hierin geef ik de gebruikersnaam in en enter.
      Dan komt in de volgend regel te staan: server refused our key.

      In een appar scherm komt de melding:
      Putty fatal error
      Disconnected: No supported authentication methods available(server send: Public key)

      Wie weet de mogelijke oplossing.

      Beantwoorden
  • Superhandig dit!
    Maar in de eerste stap staat wel een klein foutje. De tilde (~) mist bij het aanmaken van de directory en het bestandje. Daardoor gaan de chmod en chown commando’s ook niet goed omdat daar de tilde wel staat. Dit zijn de juiste commando’s en dan werkt het perfect.

    sudo mkdir ~/.ssh/
    sudo nano ~/.ssh/authorized_keys

    Beantwoorden

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *