SSH Key Autentifikation
Um auf ein Linux System mitttels SSH zuzugreifen gibt es mehrere Wege. Der Weg über Passwörter hat immer den fahlen Beigeschmack, dass “sichere” Passwörter verwendet werden müssen um nicht partiell als gehacked zu gelten.
Nun bietet SSH die Mögichkeit sich mit public und private Keys zu authentifizieren, in einer Größe von 128 Bit bis 32.768 Bit. Ich nutze im Normalfall 2048 oder 4096 bit, je nach dem ob der Server intern oder extern steht
Das Tool um Schlüsselpaare zu erzeugen bringt SSH direkt mit. Hier ist zu überlgen, ob die Keys auf dem Host direkt oder aber auf dem Adminclient erzeugt werden. Wenn die Keys auf dem Adminclient erstellt werden, muss sichergestellt sein, dass man evtl. vorhandene Keys nicht überschreibt. (anderern Dateinamen angeben)
ssh-keygen -t rsa -b 2048
... {/Pfad/Dateiname}
...{sicheres Passwort }
Weiterhin muss der enstandene Key auf das entsprechende System übertragen werden:
# cat {/Pfad/Dateiname} | ssh user@remote-system 'umask 077; cat >>.ssh/authorized_keys'
Wenn der Key nun auf dem Server selbst generiert wurde wird für den user ein entspechendes .ssh Verzeichnis im “home” Verzeichnis des Users angelegt.
Bei benutzung der Standarteinstellungen ist im Verzeichnis .ssh die DAtei id_rsa nud id_rsapub zu finden. Um nun den Zugriff zu gewährleisten muss die Datei id_rsa.pub nach authorized_keys kopiert werden.
cat id_rsa.pub > authorized_keys
Weiter muss der private Schlüssel (id_rsa) von der Maschine über einen sicheren Weg wegkopiert und dann geshreddert werden. Denn sonst könnte ein Angreifer den Key vom Server kopieren und hätte Zugang.
... nach dem kopieren auf den Admin Client ... shred -n 35 id_rsa
Jetzt sollte der erste Zugriff auf das System mittels Key probiert werden. Hierbei kann der parameter -i hilfreichsein
ssh -i /pfad/zum/key/serverkey user@remote-system
Um nun nur noch Zugriff auf den Server mittels Zertifikat zu bekommen sind nur wenige Einstellungen in der /etc/ssh/sshd_config notwendig.
... # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes Nach --> # Change to no to disable tunnelled clear text passwords PasswordAuthentication no ...
Danach den Dienst des SSH neu starten
# /etc/init.d/ssh restart
Und schon hört der Server nur noch auf Keyanfragen.
Quellen:
[URL=http://www.schlittermann.de/doc/ssh.html]Schlittermann.de
[URL=http://www.debian-administration.org/article/SSH_with_authentication_key_instead_of_password]Debian Administrator
Related posts:
- Neatx – FreeNX server auf Ubuntu 10.04 (Lucid Lynx) Neatx ist eine Open Source Variante des kommerziellen NX Servs...
Ähnliche Artikel bereitgestellt von Yet Another Related Posts Plugin.