Dies ist eine alte Version des Dokuments!


SSH-Server "OpenSSH"

Diese Veröffentlichung widmet sich dem Einsatz eines SSH-Servers (siehe auch: SSH-Server) auf Basis des Programms OpenSSH.

Die Kommandozeilen in dieser Anleitung werden als „root“ ausgeführt. Alternativ kann den Zeilen ein „sudo “ vorangestellt werden oder mit „sudo -i“ temporär auf „root“ umgestellt werden.

Installation

TL;DR:

root@server:~# apt-get update && apt-get -y install openssh-server

Ausführlich:

Zunächst aktualisiert man die Paketquellen:

root@server:~# apt-get update

Anschließend installiert man das Paket „openssh-server“

root@server:~# apt-get -y install openssh-server

Hinweis:
Die Installation von „openssh-server“ installiert auch den Dateiserver „openssh-sftp-server“.

SSH-Host-Keys auf ED25519 begrenzen

Wir empfehlen die Beschränkung der SSH-Host-Keys auf das ED25519-Kryptosystem.

Wir empfehlen vor jeder Änderungen an der SSH-Server-Konfiguration eine Sicherheitskopie der aktuellen SSH Serverkonfiguration zu erstellen:

root@server:~# cp /etc/ssh/sshd_config /etc/ssh/Sicherheitskopie.config

Noch zu testen:1)

grep "HostKey /etc/ssh/ssh_host_ed25519_key" /etc/ssh/sshd_config
sed -i '/s/"#HostKey /etc/ssh/ssh_host_ed25519_key"/"HostKey /etc/ssh/ssh_host_ed25519_key"' /etc/ssh/sshd_config

Man beschränkt die Auswahl der SSH-Host-Keys auf das ED25519 Schlüsselpaar durch Bearbeitung der Konfigurationsdatei:

root@server:~# nano /etc/ssh/sshd_config

In der Konfigurationsdatei entfernt man die Raute (#) am Anfang der Zeile #HostKey /etc/ssh/ssh_host_ed25519_key und beendet die Bearbeitung der Konfigurationsdatei2).

Anschließend startet man den SSH-Server neu, damit die Konfigurationsdatei neu eingelesen wird:

root@server:~# service ssh restart

Prüfsumme eines SSH-Host-Keys ermitteln

Um die Prüfsumme eines SSH-Host-Keys beim Verbindungsaufbau durch einen Client überprüfen zu können, muss der Client sie natürlich vorher kennen ^_^.

Man erhält z.B. die SHA256 Prüfsumme eines ED25519-SSH-Host-Keys mit der Kommandozeile:

root@server:~# ssh-keygen -lf /etc/ssh/*ed25519_key

alte Schlüssel sichern; neue Schlüssel generieren

Während der Installation von „openssh-server“ werden automatisch Schlüssel für alle gängigen Kryptosysteme für den Rechner erzeugt („Host-Keys“). Da zum Zeitpunkt der Schlüsselerzeugung evtl. noch nicht genügend Entropie vorhanden war, empfiehlt es sich die „alten“ Schlüssel zu sichern und anschließend neue zu generieren:

Zunächst wechselt man in das Verzeichnis, in welchem die Host-Keys liegen. Auf einem Debian-Server ist das „/etc/ssh/“:

root@server:~# cd /etc/ssh/

Nun erstellt man eine Sicherheitskopie der aktuelle Schlüssel:

root@server:~# tar -czf "alte Schlüssel.tar.gz" ssh_host*

Die alten Schlüssel kann man nun gelöscht:

root@server:~# rm ssh_host*

Jetzt können die neuen Schlüssel generiert werden:

root@server:~# ssh-keygen -A

Alle Schritte in einer Zeile:

root@server:~# cd /etc/ssh/ && tar -czf "alte Schlüssel.tar.gz" ssh_host* && rm ssh_host* && ssh-keygen -A

Oder als Skript:

# Skript zum sichern alter Host-Keys und zum generieren neuer Schlüssel

#!/bin/bash

cd /etc/ssh/
tar -czf "alte Schlüssel.tar.gz" ssh_host*
rm ssh_host*
ssh-keygen -A

Die Sicherheitskopien der alten Schlüssel können abschließend noch auf einen Backup-Server verschoben werden. Per Terminal kann folgende Muster-Kommandozeile verwendet werden:

scp /etc/ssh/"alte Schlüssel.tar.gz" backup-server:/"Sicherung Server"/

Passwort-Authentifizierung deaktivieren

pi@HOSTNAME:~ $ sudo nano /etc/ssh/sshd_config

Dann ändert man die Zeile

#PasswordAuthentication yes

auf

PasswordAuthentication no

Anschließend startet man den SSH-Server neu:

pi@HOSTNAME:~ $ sudo service ssh restart

informiert bleiben

Um über neue Entwicklungen von OpenSSH auf dem Laufenden zu bleiben, empfiehlt sich das Abonnement der Mailingliste "OpenSSH-Unix-Announce".

Deinstallation

TL;DR

root@server:~# apt-get --purge -y autoremove openssh

Ausführlich

Das Paket „openssh“ kann mit folgender Kommandozeile deinstalliert werden:

root@server:~# apt-get remove -y openssh

Soll zusätzliche die Konfiguration entfernt werden, so kann dies mit folgender Kommandozeile erfolgen:

root@server:~# apt-get purge -y openssh

Sollen abhängige und nicht von anderen Programmen benötigte Pakete entfernt werden, so kann dies mit folgender Kommandozeile erfolgen:

root@server:~# apt-get autoremove -y

Für Fragen, Verbesserungsvorschläge, Alternativen oder sonstiges Feedback bitten wir um eine Mail an hallo@kryptopraxis.de. Das hilft uns die Qualität unserer Veröffentlichungen zu verbessern und somit anderen Kunden bessere Inhalte zu bieten.


2)
Bearbeitungen in „nano“ werden mit der Tastenkombination Strg+X (Beenden), gefolgt von J (speichern) und Eingabetaste (Dateinamen bestätigen) beendet.
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information