SSH verstehen: Sichere Verbindungen im Netzwerk

Ob Serveradministrator oder Webentwicklerin – wer auf entfernte Rechner zugreift, kommt an SSH nicht vorbei. Das Secure Shell Protocol verschlüsselt jede Verbindung und macht Übertragungen im Netzwerk abhörsicher. Dieser Beitrag erklärt, wie SSH funktioniert und wie man es richtig einsetzt.

Warum SSH?

Früher übernahmen Protokolle wie Telnet die Fernwartung – und übertrugen Passwörter im Klartext über das Netzwerk. Jede Mitschrittstelle konnte sie lesen. SSH verschlüsselt dagegen die gesamte Verbindung und authentifiziert außerdem den Server, damit niemand sich als Zielrechner ausgeben kann.

Die Grundlagen

Das Prinzip ist simpel: Zwischen Client und Server wird eine verschlüsselte Verbindung aufgebaut. Standardmäßig lauscht der SSH-Server auf Port 22. Die Verbindung von einem Rechner aus sieht so aus:

ssh benutzer@192.168.1.100
ssh benutzer@server.beispiel.de -p 2222

Der zweite Befehl nutzt einen abweichenden Port, was bei vielen Servern üblich ist.

Authentifizierung mit Schlüsseln

Passwörter sind bequem, aber schwache Passwörter sind ein Einfallstor. Sicherer ist die Anmeldung per Schlüsselpaar: ein privater Schlüssel bleibt auf dem eigenen Rechner, der öffentliche landet auf dem Server.

ssh-keygen -t ed25519
ssh-copy-id benutzer@server.beispiel.de

Der erste Befehl erzeugt das Schlüsselpaar, der zweite überträgt den öffentlichen Schlüssel auf den Server. Ab dann klappt die Anmeldung ohne Passwort:

ssh benutzer@server.beispiel.de

Empfehlung: Die private Schlüsseldatei unbedingt mit einer Passphrase schützen – sie schützt auch dann noch, wenn die Datei in falsche Hände gerät.

Passwortlogin deaktivieren

Wer das Passwort als Einstieg komplett ausschließen will, ergänzt in der Serverkonfiguration /etc/ssh/sshd_config:

PasswordAuthentication no
PubkeyAuthentication yes

Danach muss der SSH-Dienst neu geladen werden:

sudo systemctl reload ssh

Achtung: Vor dem Neustart unbedingt prüfen, ob die Schlüsselanmeldung funktioniert – sonst sperrt man sich selbst aus.

Dateien übertragen mit scp und rsync

SSH ist nicht nur für Shell-Sitzungen da. Dateien lassen sich über dieselbe sichere Verbindung kopieren:

scp backup.tar.gz benutzer@server:/home/benutzer/
rsync -avz ./projekt/ benutzer@server:/srv/projekt/

rsync überträgt nur geänderte Dateien und eignet sich deshalb ideal für Backups und Deployments.

Fazit

SSH ist eine der tragenden Säulen der modernen Systemadministration – verschlüsselt, standardisiert und auf jedem Linux-System vorinstalliert. Wer Schlüssel statt Passwörter nutzt und die Grundbefehle beherrscht, ist auf der sicheren Seite.