Mit Hardware-Beschleunigung und schnellem Netz hilft Desktop-Virtualisierung, Administrationsaufwand und Kosten sparen, ADMIN 04/2013 verrät, wie die ... (mehr)

Umgang mit Host-Keys

Für Linux-Admins gehört der Umgang mit SSH-Host-Keys zum Alltag. Da eine erfolgreiche SSH-Verbindung ein Benutzerkonto auf dem entfernten Host voraussetzt, führen alle SSH-Tools einen Authentifizierungsprozess durch. Unter Linux genügt bekanntlich »ssh -l entfernter Nutzername IP-Adresse Remote-System« , um eine Verbindung zum entfernten Server aufzubauen, der dann nach dem zum angegebenen Benutzernamen passenden Passwort fragt, wobei Benutzernamen und Passwörter verschlüsselt übertragen werden. Das ist bei Putty genauso, fällt aber nicht gleich auf, weil sich der Anmeldevorhang hinter der grafischen Oberfläche versteckt (Abbildung 1). Bei Putty muss der Admin lediglich den gewünschten Zielhost im Feld »Hostname« auf der Startseite »Sessions« eintragen.

Abbildung 1: Der Anmeldeprozess bei Putty.

Host-Keys

SSH arbeitet zur Gewährleistung der Integrität per Default mit Host-Keys. Daher zeigt jeder SSH-Client beim ersten Verbindungsaufbau zu einem neuen SSH-Server dessen automatisch übermittelten Host-Key (beziehungsweise den dazu gehörigen Fingerprint) an, signalisiert mit »permanently added 'IP-Adresse' (RSA) to the list of known host« , dass er diesen noch nicht kannte und den Key daher seiner lokalen Datei »$HOME/.ssh/known_hosts« anfügen möchte. Der Admin muss damit entscheiden, ob er diesem Server traut, ihn also für den hält, für den er sich ausgibt. Denn bei einer Verbindung über das Internet könnte ein Angreifer die Verbindung theoretisch gekapert haben.

Die Integrität ließe sich zum Beispiel dadurch gewährleisten, dass sich der Admin den Fingerprint des entfernten Servers besorgt, den er mit dem übermittelten Key vergleichen kann. Das ist bei Verwendung von Putty als SSH-Client nicht anders, allerdings zeigt Putty den Dialog mit dem RSA-Fingerprint grafisch an (Abbildung 2) und bietet an, den Host-Key im Windows-Registry-Format zu speichern. Gleichzeitig hält Putty den Host-Key bis zum nächsten Verbindungsaufbau zum gleichen Server im Cache.

Abbildung 2: Putty zeigt wie jeder SSH-Client den RSA-Host-Key des entfernten Hosts an.

Die Putty-Entwickler stellen auf der Putty-Projektseite jedoch ein Skript »kh2reg« zur Verfügung, mit dem der Admin bei Bedarf vorhandene Host-Keys im klassischen (Linux-)Known-Hosts-Format in ein Windows-*.REG -File konvertieren kann. Auf Serverseite findet sich der Host-Key im Verzeichnis »/etc/ssh« und hört per Default auf den Namen »ssh_host_dsa_key« . Ist die Verbindung hergestellt, zeigt auch Putty ein klassisches Login-Fenster für den Server und der Admin kann sich zunächst mit Benutzername und Passwort anmelden. Den Fingerprint des Server-Host-Keys findet man übrigens auch durch Eingeben von

ssh-keygen -f /etc/ssh/ssh_host_rsa_key.pub -l

in der SSH-Remote-Shell heraus.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022