Ssh Schlüssel Authentifizierung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 5: Zeile 5:
 
--->
 
--->
 
{{#drawio:ssh-verbindungsaufbau-4}}
 
{{#drawio:ssh-verbindungsaufbau-4}}
 +
<pre>
 +
 
                       SSH-VERBINDUNGSAUFBAU (TECHNISCH KORREKT)
 
                       SSH-VERBINDUNGSAUFBAU (TECHNISCH KORREKT)
 
                       ========================================
 
                       ========================================
Zeile 69: Zeile 71:
 
       → Shell / Command-Channel wird geöffnet
 
       → Shell / Command-Channel wird geöffnet
 
       → Datenverkehr ist weiterhin symmetrisch verschlüsselt (AES, ChaCha20, ...)
 
       → Datenverkehr ist weiterhin symmetrisch verschlüsselt (AES, ChaCha20, ...)
 +
 +
</pre>

Version vom 15. November 2025, 10:08 Uhr


                      SSH-VERBINDUNGSAUFBAU (TECHNISCH KORREKT)
                      ========================================


CLIENT                                                                    SERVER
------                                                                    ------


                 >>>>>>>>>>  1. TRANSPORT LAYER / KEY EXCHANGE  <<<<<<<<<<

(1)  Algorithmus-Vorschläge  ------------------------------------------->

(2)                                        <------------------------------  Auswahl + Host Key

(3)  Host-Key-Verifikation:
       - Server-Host-Key steht in known_hosts?  
         JA  → weiter
         NEIN → Warnung an Benutzer (hinzufügen oder abbrechen)


(4)  Diffie-Hellman Key Exchange  -------------------------------------->

(5)                                        <------------------------------  DH-Antwort

(6)  Beide berechnen einen gemeinsamen:
       → **symmetrischen Session Key**

       >>>  Ab hier: gesamte SSH-Verbindung symmetrisch verschlüsselt  <<<



                 >>>>>>>>>>  2. USER AUTHENTICATION (PUBLIC KEY) <<<<<<<<<<


(7)  Client → Server:
       - Benutzername
       - "Ich möchte mich mit Public Key authentifizieren."

                                         <------------------------------- (8)
                                            Liegt der Public Key des Clients
                                            in ~/.ssh/authorized_keys ?

                                            NEIN → Authentifizierung abbrechen
                                            JA  → weiter


(9)  Server → Client:
       - Challenge (zufällige Daten)  ---------------------------------->

(10) Client:
       - Signiert Challenge mit **privatem Schlüssel**
       - Sendet Signatur zurück  --------------------------------------->

(11) Server:
       - Prüft Signatur mit **öffentlichem Schlüssel** aus authorized_keys
       - Gültig? JA → Login erlaubt
                    NEIN → Zugriff verweigert


                 >>>>>>>>>>  3. SESSION ACTIVE <<<<<<<<<<

(12) Erfolgreiche Anmeldung:
       → Shell / Command-Channel wird geöffnet
       → Datenverkehr ist weiterhin symmetrisch verschlüsselt (AES, ChaCha20, ...)