Ssh Verbindungsaufbau: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
+
=Lokale Benutzer Remote Benutzer=
 
+
*[[ssh Lokale Benutzer Remote Benutzer]]
{{#drawio:ssh-verbindungsaufbau-1}}
+
=Setup=
 
+
*[[ssh schlüssel]]
 
+
=Passwort Authentifizierung=
==Verbindungsaufbau vereinfacht==
+
*[[ssh Passwort Authentifizierung]]
[[Datei:ssh-1.png]]
+
=Schlüssel Authentifizierung=
===Ablauf der Verbindungsaufbau (Kombiniertes Verfahren, rote Pfeile)===
+
*[[ssh Schlüssel Authentifizierung]]
*Zuerst wird ein TCP-Verbindung (Port 22) aufgebaut
+
=known_hosts und authorized_keys=
*Danach schickt der Server seine Protokollversion und die verfügbaren Protokolle
+
*[[known_hosts und authorized_keys]]
*Der Client antwortet ebenfalls mit dem Senden seiner unterstützten Version und das gewählte Protokoll. Er verlangt auch den öffentlichen Schlüssel des Servers
+
=ssh Agent=
*Der Server schickt seinen öffentlichen Schlüssel
+
*[[SSH Agent]]
*Der Client generiert einen Session Key und verschlüsselt ihn mit dem öffentliche  des Servers
 
*Der Server entschlüsselt den Session Key mit seinem privaten Schlüssel und ab jetzt werden alle Daten, die zwischen Server und Client ausgetauscht werden, mit einem symmetrischen Verfahren (Session Key) verschlüsselt.
 
 
 
===Ablauf einer Authentifizierung (RSA-Verfahren, grüne Pfeile)===
 
*Client sendet eine Verbindungsaufbauanfrage (Login-Anfrage) am Server
 
*Der Server erhält diese Anfrage und antwortet mit einer „Challenge“: Ein Zufallswert wird generiert und mit dem öffentlichen Schlüssel des Benutzers (Client)verschlüsselt.
 
*Der Client entschlüsselt diesen Zufallswert mit seinem privaten Schlüssel und bildet den dazugehörigen Hashwert. Dieser Hashwert wird mit dem privaten Schlüssel verschlüsselt und dem Server geschickt.
 
*Der Server entschlüsselt den empfangenen Hashwert mit dem öffentlichen Schlüssel des Benutzers und konfrontiert seinen generierten Hashwert mit dem vom Client.
 
*Wenn beide Hashwerte übereinstimmen, wird der Zugriff auf dem Server zugelassen.
 

Aktuelle Version vom 9. November 2021, 08:05 Uhr