Home > FreeBSD, Linux / Unix / foo, Solaris > SSH mit Google-Authenticator

SSH mit Google-Authenticator

January 15th, 2012 Leave a comment Go to comments

Der Google Authenticator ist ein kleiner Aufsatz für PAM und durch die Authenticator app werden entsprechende Keys generiert.

 

Die App gibt’s für iPhone, Android & Blackberry.

Auf dem Telefon liegt die App kostenlos im jeweiligen Store/Market vor.

 

Serverseitig müssen wir ein wenig mehr tun.

Ich halte mich mal an ein Debian System.

Evtl werde ich nachfolgend noch Solaris und FreeBSD bearbeiten.

 

Also erst mal die Voraussetzeungen:

 

Ein funktionierendes Mercurial dann noch libpam0g-dev und sudo.

Ich musste in einer Minimalinstallation von Debian noch etwas Hand anlegen, aber daran bin ich selbst schuld, daher findet es hier keine Erwähnung ;)

 

Serverseitig

Los gehts mit dem Checkout des google-authenticators:

 

hg clone https://google-authenticator.googlecode.com/hg/ google-authenticator/

 

Bau des Authenticators:

 

cd google-authenticator/libpam

make install

 

 

Zwei kleine Anpassungen in Confs:

 

In die /etc/pam.d/sshd wird folgendes eingefügt:

auth required pam_google_authenticator.so

 

In die /etc/ssh/sshd_config kommt:

ChallengeResponseAuthentication yes

 

Jetzt noch ein Restart vom sshd und wir sind an sich fertig.

 

Konfiguration im Handy

Zum verheiraten des Handys mit dem Server für den entsprechenden Benutzer ein google-authenticator absetzen und den QR-Code scannen – auf der Konsole wird eine URL ausgegeben, die bei Aufruf den QR-Code anzeigt.

 

Der Login ist also nach Beantwortung von ein paar gut erklärten Fragen zu der eigenen Paranoia um die Abfrage des Tokens generierten Passcodes erweitert.

 

root@debian:/etc/pam.d# google-authenticator

 

Do you want authentication tokens to be time-based (y/n) y

https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth://totp/root@debian%3Fsecr

Your new secret key is: O6T2ASM5VNYU

Your verification code is 645

Your emergency scratch codes are:

5667639

4672771

4336960

8917622

8397542

 

 

Login sieht dann so aus:

 

bash-3.2$ ssh root@192.168.10.101

Password:

Verification code:

Linux debian 2.6.32-5-686 #1 SMP Wed Jan 11 12:29:30 UTC 2012 i686

 

root@debian:~#

 

 

Die App generiert in meinem Fall alle 30s einen neuen Passcode.

 

 

 

Viel Spaß damit!

Nochmal klar: Der Authenticator hakt nicht ein wenn Ihr euch mit SSH-Key anmeldet – ich nutze ihn als zweite Sicherheitsebene wenn es um Logins ohne Key von Fremdrechnern geht.

 

Ich bin aber dran eine Lösung zu finden wie ich SSH mit Key & PAM verheiraten kann.

Categories: FreeBSD, Linux / Unix / foo, Solaris Tags:
  1. No comments yet.
  1. No trackbacks yet.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.