Secure Shell (SSH) ist eine Methode, um sicher auf eine Remote-Maschine über ein unsicheres Netz zuzugreifen. Es beginnt mit einer TCP-Verbindung vom SSH-Client zur Remote-Maschine (SSH-Server). Beide Maschinen tauschen SSH-Versionen aus, verhandeln kryptografische Algorithmen und führen ein Schlüsselaustausch-Protokoll aus.
Der SSH-Server sendet einen öffentlichen Schlüssel und eine Signatur, die der Client verifiziert. Dieser Host-Schlüssel wird gegen die known_hosts-Datei geprüft. Beide Maschinen leiten Session-Schlüssel separat ab und teilen sie niemals über das Netz.
Der SSH-Client sendet dann seinen öffentlichen Schlüssel zur Authentifizierung. Der SSH-Server vergleicht ihn mit authorized_keys, und der Client signiert die Authentifizierungsanfrage mit dem privaten Schlüssel, sendet eine digitale Signatur an den Server. Der private Schlüssel verlässt Ihre Maschine niemals.
Der Server verifiziert die Signatur mit dem öffentlichen Schlüssel des Clients, vervollständigt die SSH-Authentifizierung und öffnet die Kommunikationssession.
Quelle: ByteByteGo · Zusammengefasst von HeadlinesBriefing