|
|
| (11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| | =Lokale Benutzer Remote Benutzer= |
| | *[[ssh Lokale Benutzer Remote Benutzer]] |
| | =Setup= |
| | *[[ssh schlüssel]] |
| | =Passwort Authentifizierung= |
| | *[[ssh Passwort Authentifizierung]] |
| | =Schlüssel Authentifizierung= |
| | *[[ssh Schlüssel Authentifizierung]] |
|
| |
|
| | | =known_hosts und authorized_keys= |
| {{#drawio:ssh-verbindungsaufbau-1}}
| | *[[known_hosts und authorized_keys]] |
| | | =ssh Agent= |
| | | *[[SSH Agent]] |
| ==Verbindungsaufbau vereinfacht==
| |
| [[Datei:ssh-1.png]] | |
| ===Ablauf der Verbindungsaufbau (Kombiniertes Verfahren, rote Pfeile)=== | |
| *Zuerst wird ein TCP-Verbindung (Port 22) aufgebaut | |
| *Danach schickt der Server seine Protokollversion und die verfügbaren Protokolle
| |
| *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
| |
| *Der Server schickt seinen öffentlichen Schlüssel
| |
| *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.
| |