SshSetup

Alles rund um ssh

Public-Key Authetifizierung

Quelle: https://www.ssh.com/ssh/public-key-authentication

Public-Key Authentifizierung erlaubt das Einloggen mittels SSH ohne Passwortabfrage. Dies ist insbesondere für RSYNC-Backups sehr nützlich.
  1. Schlüsselpaar auf dem Client erzeugen
    client# ssh-keygen
  2. Öffentlichen Schlüssel auf dem Server speichern
    server# vi ~/.ssh/authorized_keys
    Dann den inhalt der Datei des öffentlichen Schlüssels des Clients an diese Datei anfügen.

Hilfreiche Befehle

Fingerabdrücke / Fingerprints von SSH-Schlüsseln anzeigen

Kurz:
find /etc/ssh -iname "*.pub" -exec ssh-keygen -l -E md5 -f '{}' ';' -exec ssh-keygen -l -E sha256 -f '{}' ';'

Für ssh-keygen Versionen < 6.8 wird die Option -E nicht unterstützt:
find /etc/ssh -iname "*.pub" -exec ssh-keygen -l -f '{}' ';'

Oder mühsam von Hand:
  • Programm: ssh-keygen
  • Parameter "-l": Fingerabdruck anzeigen
  • Parameter "-E": Hash-Algorithmus, z.B. "md5" oder "sha256"
  • Parameter "-f in_file": Schlüssel aus Datei in_file lesen

# ssh-keygen -l -E md5 -f ssh_host_dsa_key.pub
# ssh-keygen -l -E sha256 -f ssh_host_dsa_key.pub
# ssh-keygen -l -E md5 -f ssh_host_ecdsa_key.pub
# ssh-keygen -l -E sha256 -f ssh_host_ecdsa_key.pub
# ssh-keygen -l -E md5 -f ssh_host_rsa_key.pub
# ssh-keygen -l -E sha256 -f ssh_host_rsa_key.pub

Fingerabdruck Hash-Mismatch

Siehe auch: https://superuser.com/questions/929566/sha256-ssh-fingerprint-given-by-the-client-but-only-md5-fingerprint-known-for-se

Problem

In neueren Versionen von ssh werden bei der ersten Verbindung sha256-Fingerprints auf Client-Seite angezeigt. Diese lassen sich jedoch nicht mit alten MD5-Fingerprints vergleichen. Beispiel:
ECDSA key fingerprint is SHA256:TfWR7a5dxJLmPZQl8Oxp/roV35dnV6eiTMuMrXvectA.
Aber der bekannte ECDSA-Fingerprint lautet:
ECDSA: 94:09:38:26:16:08:07:d4:25:c7:db:63:aa:6f:1f:e1

Lösungsvarianten

  1. Fingerprints mit sha265-hash auf Server prüfen (siehe oben). Ist aber nur möglich mit ssh-keygen Version >= 6.8
  2. Fingerabdrücke vom Server manuell auf einen anderen Rechner kopieren, auf dem ssh-keygen in Version >= 6.8 verfügbar ist und den neuen Hash anzeigen lassen.
  3. Workaround: Temporär md5-Fingerabdrücke nutzen
    ssh -o FingerprintHash=md5 <HOSTNAME>;

Dieses Topic: Main > WebHome > SshSetup
Topic-Revision: 21 Nov 2018, EinExperte
Diese Seite läuft auf FoswikiDas Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborationsplattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich bitmuehle wiki? Feedback senden