Pagina 1 van 1

2 Factor Auth op ssh Server

Geplaatst: 21 jun 2019, 10:43
door ComputerSmurf
Op mijn eigen server verbind ik altijd zelf met ssh-keys.
Dit wel zeggen dat vooraf ingestelde computers bepaalde sleutels met elkaar delen en ik zo kan verbinden.
Dit werkt zowel intern als extern, maar wat nou als je er even wil inloggen op je server via een onbekende computer? Alleen een naam en wachtwoord is een beetje tricky.
Daarom heb ik 2FA ingesteld op mijn ssh server, dan moet je inloggen met gebruikersnaam en wachtwoord en vervolgens met een token die je krijgt via bijv google-authenticator.
Ik zal jullie laten zien in dit artikel hoe je dat kunt instellen, ik gebruik zelf openSUSE.
Gebruik je bijvoorbeeld Ubuntu? dan zijn er talloze handleidingen op het internet te vinden.

Hoe 2FA instellen op een ssh server, pakketten installeren en instellen
Open je terminal en installeer het volgende sudo zypper in google-authenticator-libpam

Als we dat gedaan hebben moeten we de configuratie van pam.d aanpassen.
sudo vi /etc/pam.d/sshd
Zet de volgende regel in dat bestand: auth required pam_google_authenticator.so


Nu gaan we even de ssh service herstarten: sudo systemctl restart sshd.service

Open nu je ssh configuratie file: sudo vi /etc/ssh/sshd_config

De volgende regel staat op NO: ChallengeResponseAuthentication NO verander dit naar YES
En zet de volgende regel ook op YES als dat niet zo is: PasswordAuthentication yes
En zet de volgende regel ook op YES: UsePAM yes

Instellen Authenticatie
Installeer op je telefoon Google Authenticator als je dat nog niet hebt gedaan.
Voer nu het volgende commando uit in je terminal: google-authenticator

Je zult nu de volgende vragen krijgen
Beantwoord ze zoals hier onder:

Make tokens “time-base””: yes
Update the .google_authenticator file: yes
Disallow multiple uses: yes
Increase the original generation time limit: no
Enable rate-limiting: yes


Hier na zal je een QR code in je scherm krijgen:


Open Google Authenticator op je telefoon.
Druk op het + symbool en selecteer streepjes code scannen.
Voer daarna de stappen in je terminal uit.
Je krijgt ook een aantal backup codes bewaar deze goed!
Mocht je telefoon kwijt raken of kapot gaan dan kun je met deze backup codes er nog in komen