# SSH-Server einrichten und betreiben

| Dieses Buch steht im Regal EDV sowie im Regal Anleitungen. | Zielgruppe: Freizeit, Beruf | Lehrbuch |

## Zusammenfassung des Projekts

„SSH-Server einrichten und betreiben“ ist nach Einschätzung seiner Autoren zu 0 % fertig
* Zielgruppe: Menschen, die einen SSH-Server als Konsolenzugang benötigen
* Projektumfang: Die Konfiguration und Abhärten eines SSH-Servers für unterschiedliche Anwendungen wird beschrieben.

## Titelseite
### Autoren

Autoren sind aus der Versionsgeschichte dieses Buches und aller Unterkapitel ersichtlich.
Initiiert wurde dieses Projekt am 01.01.2021 von ademant, welcher verschiedene SSH-Server eingerichtet und betreibt.

### Haftung / Gewähr

Diese Anleitung soll einen sicheren Zustand beschreiben, so dass alle Nutzer hinter dem Router einigermaßen sicher arbeiten können. Die einzelnen Punkte spiegeln aber nur den Sicherheitszustand zu einem bestimmten Zeitpunkt dar. Die Anleitung ist für Privatanwender gedacht. Im geschäftlichen Bereich sind andere Anforderungen bezüglich Sicherheit zu erfüllen.

### Vorwort

Im Internet existieren verschiedene Anleitungen, wie SSH-Server eingerichtet werden. Diese beziehen sich meist nur auf einzelne Aspekte. In dieser Anleitung sollen anhand verschiedener Zielsysteme die vollständigen Möglichkeiten eines SSH-Servers beschrieben werden.

## Einleitung

Fast der erste Schritt bei einem neuen Linux-System ist das Einrichten des SSH-Servers, um diesen Rechner remote bedienen zu können. Bei Raspberries ist dies fast schon ein Muss, da diese Geräte in der Regel ohne Tastatur, Maus und ohne Monitor betrieben werden.

### Kurz: Warum nicht Remote Desktop?

Nicht nur bei Servern und Raspberries vereinfacht ein SSH-Zugang die Verwaltung; auch bei Desktop-Rechner erleichtert der SSH-Zugang die Administration. Bei Windows ist der Remote Desktop Dienst üblich: Der am Rechner aktive Bildschirm wird über eine aktive Verbindung aus der Ferne bedient. Dies hat folgende Nachteile:
* Es muss der komplette Bildschirm mit allen Grafiken über das Netzwerk übertragen werden; dies setzt eine stabile Verbindung mit ausreichender Kapazität voraus.
* Bei Desktop-Betriebssystemen wird der am Arbeitsplatz dargestellte Bildschirm genutzt. Sitzt jemand an dem Rechner, muss man sich mit ihm über die Remote Desktop Verbindung einigen. Für Schulungszwecke ist dies sicherlich nützlich. Aber soll ein Programm eingerichtet werden, kann der Mitarbeiter vor Ort diesen Rechner in der Zeit nicht nutzen.
* Nur bei Server-Versionen von Windows ist es vorgesehen, dass mehrere Nutzer per Remote Desktop einen eigenen Bildschirm haben und parallel arbeiten können.
Eine SSH-Verbindung ermöglicht einen schlanken Zugang zu einer Textkonsole auf einem Rechner.

### Einsatzmöglichkeiten von SSH

Mit einer SSH-Verbindung lassen sich auf einem entfernten unter anderem folgende Arbeiten durchführen:
* Administration des Systems mit Einspielen von Updates und neuen Programmen
* Paralleles Arbeiten mehrerer Nutzer am Rechner
* Konfiguration von Diensten oder Programmen sowie Neustart dieser Dienste
* Einsehen von Log-Dateien, besonders im Fehlerfall
* Sicheres Kopieren von Dateien über ein Netzwerk

### Funktionsweise

SSH arbeitet im Client-Server-Betrieb: Vom eigenen Rechner (Client) wird eine Verbindung zu einem entfernten Rechner (Server) aufgebaut.

#### Absicherung der Transportschicht

Zu Beginn der Verbindung einigen sich Client und Server auf die zu verwendenden (symmetrischen) Verschlüsselungsmethoden. Prinzipiell wird auch das SSH-Protokoll verhandelt, wobei das SSH-Protokoll der Version 1 als unsicher ausgeschlossen werden sollten. Hierbei lässt sich in der Konfiguration des Servers Verschlüsselungsmethoden ausschließen, die als unsicher gelten. Umgekehrt kann genauso der Client bestimmte Verschlüsselungsmethoden ausschließen. Gibt es hier keine Übereinstimmung, wird bereits in dieser Phase der Verbindungsaufbau abgelehnt.
Im nächsten Schritt wird für die symmetrische Verschlüsselung ein gemeinsamer Schlüssel ausgehandelt, ohne diesen zu übertragen.

#### Authentifizierung

Im nächsten Schritt findet die gegenseitige Authentifizierung statt. Der Server präsentiert dem Client ein Zertifikat, welches der Client akzeptieren muss. Hierzu hält der Client eine Datenablage vor, wo zu jedem Server das akzeptierte Zertifikat gespeichert wird. Bei einer neuen Verbindung muss der Anwender das Zertifikat prüfen und akzeptieren. Bei jeder weiteren Verbindung, wird geprüft, ob das Zertifikat dem entspricht, das in der eigenen Datenablage gespeichert ist. Weicht das präsentierte Zertifikat von dem gespeicherten Zertifikat ab, lehnt der Client die Verbindung ab.
Anschließend prüft der Server, ob dem Client der gewünschte Zugang gewährt wird. Es wird die Verbindung zu einem Nutzeraccount gewünscht, wobei der Server prüft, ob dieser Account existiert und für eine SSH-Verbindung berechtigt ist. Liegt diese Berechtigung vor, wird abhängig von der Konfiguration des Servers geprüft, ob die vom Client präsentierte Authentifizierung akzeptiert wird. Hierbei kann nicht nur eine Kombination von Nutzername und w:Passwort verwendet werden. Der Server kann ebenso ein Zertifikat vom Client anfordern, um dessen Berechtigung zu prüfen.

#### KonsolenVerbindung

Ist die Transportschicht gesichert und die Authentifizierung erfolgt, stellt der Server eine Eingabeaufforderung zur Verfügung. Die Tastatureingaben werden über die gesicherte Verbindung zur Eingabeaufforderung auf dem Server geleitet. Antworten werden ebenfalls über die gesicherte Verbindung zum Client gesendet.

#### Datenverbindung

Alternativ zu einer Eingabeaufforderung kann auch eine Datenverbindung geöffnet werden, in der Dateien mittels Secure_Copy oder SSH-FTP übertragen werden.

## Konfiguration

„SSH-Server einrichten und betreiben“ ist nach Einschätzung seiner Autoren zu 40 % fertig

## Einsatzszenarien

„SSH-Server einrichten und betreiben“ ist nach Einschätzung seiner Autoren zu 0 % fertig

## Server abhärten

„SSH-Server einrichten und betreiben“ ist nach Einschätzung seiner Autoren zu 0 % fertig

### Nutzerverwaltung

Dieses Lehrwerk ist erst vor kurzem angelegt worden. – Nützliche Hinweise findest du im Wikibooks-Lehrbuch. – Bei Problemen kannst du unter diesem Link um Hilfe bitten. – Diskussionen zu diesem Buch führst du auf dieser Seite. – (Datum im Format Jahr_Monat_Tag: 20210101))
Details zu diesem Baustein erfährst du unter diesem Link.