Inhaltsverzeichnis

SSH - Secure Shell

SSH (Secure Shell) ist ein Protokoll, das eine sichere Verbindung zwischen einem Client und einem Server ermöglicht. Es wird verwendet, um sich über die Befehlszeile auf entfernten Servern anzumelden und Ressourcen zu verwalten. Eine Sichere methode zur Anmeldung stellt die Authentifizierung mit einem Public Key dar.

Public Key Authentifizierung

  1. Bei der Public Key Authentication verwendet jeder Benutzer ein Schlüsselpaar:
    Einen privaten Schlüssel (geheim und nur für den Benutzer zugänglich) und einen öffentlichen Schlüssel (frei verfügbar für jeden)
  2. Der öffentliche Schlüssel wird auf dem Server hinterlegt
  3. Der private Schlüssel wird auf dem lokalen Computer des Benutzers gespeichert
  4. Wenn sich der Benutzer anmeldet, sendet der Server eine mit dem ihm bekannten öffentlichen Schlüssel verschlüsselte Nachricht an den Client.
    Der Client entschlüsselt diese Nachricht mit seinem privaten Schlüssel und sendet sie zurück an den Server.
    Dadurch wird die Identität des Benutzers bestätigt und der Login vollzogen.

Erzeugen von Privat- und Public Key

Für die Erstellung des Schlüsselpaar verwenden wir Putty.

  1. ssh-keygen ist das Tool mit dem du SSH-Schlüsselpaare generieren und verwalten kannst
  2. Standardmäßig verwendet es RSA mit einer Schlüssellänge von 2048 Bit
    Meine Emfehlung ist die Länge des Schlüsselpaar auf 4096 Bit zu erhöhen
  3. Klicke auf "Generate", um ein Schlüsselpaar zu erstellen
  4. Der private Schlüssel soll sicher auf deinem lokalen Computer aufbewahrt werden.
    Schütze ihn mit einem Passwort. Um diesen unbrauchbar zu machen, sollte der Schlüssel gestolen werden, ist der Zugriff auf deine Server auch dann noch geschützt, solange das dazugehörige Kennwort nicht bekannt ist.
  5. Der öffentliche Schlüssel wird auf dem Server in der Datei '/home/#USER/.ssh/authorized_keys' abgelegt.
    Jeder Benutzer, der sich mit diesem Schlüssel authentifizieren darf, sollte seinen öffentlichen Schlüssel dort hinzufügen.