SSH: Sicher auf entfernte Server zugreifen

SSH ist dein Schlüssel zu entfernten Servern. Hier lernst du, wie du dich sicher per Schlüsselpaar verbindest, Dateien überträgst und die Konfiguration vereinfachst.

Teilen
SSH: Sicher auf entfernte Server zugreifen

Früher oder später möchtest du nicht nur auf deinem eigenen Rechner programmieren, sondern auch auf einem entfernten Server arbeiten – etwa um eine Webanwendung zu deployen oder einen kleinen Raspberry Pi zu administrieren. Genau dafür gibt es SSH (Secure Shell). In diesem Beitrag zeige ich dir, wie du dich sicher verbindest, mit Schlüsseln statt Passwörtern arbeitest und deinen Alltag mit ein paar Tricks vereinfachst.

Was ist SSH überhaupt?

SSH ist ein Protokoll, das eine verschlüsselte Verbindung zwischen deinem Rechner (dem Client) und einem entfernten Server herstellt. Alles, was du tippst, und alles, was der Server antwortet, wird verschlüsselt übertragen. Niemand zwischen euch kann mitlesen. Standardmäßig läuft SSH auf Port 22.

Die einfachste Verbindung sieht so aus:

ssh benutzername@192.168.1.50

# Mit einem anderen Port als 22
ssh -p 2222 benutzername@server.example.com

Beim ersten Verbindungsaufbau fragt dich SSH, ob du dem Fingerabdruck des Servers vertraust. Bestätige mit yes, danach wird der Schlüssel in der Datei ~/.ssh/known_hosts gespeichert.

Sicherer anmelden mit SSH-Schlüsseln

Passwörter sind unpraktisch und angreifbar. Viel sicherer ist ein Schlüsselpaar: ein privater Schlüssel, der bei dir bleibt, und ein öffentlicher Schlüssel, der auf den Server kommt. Erzeuge zunächst ein Paar:

# Modernes Ed25519-Schlüsselpaar erzeugen
ssh-keygen -t ed25519 -C "anton@meinecodereise"

# Den öffentlichen Schlüssel auf den Server kopieren
ssh-copy-id benutzername@server.example.com

Der Befehl ssh-keygen legt zwei Dateien in ~/.ssh/ an: id_ed25519 (privat, niemals teilen!) und id_ed25519.pub (öffentlich). Nach dem Kopieren kannst du dich ohne Passwort anmelden – nur dein privater Schlüssel wird benötigt.

Die SSH-Config: Tippen sparen

Wenn du dich regelmäßig mit Servern verbindest, willst du nicht jedes Mal die volle Adresse tippen. Lege dafür eine Datei ~/.ssh/config an:

# ~/.ssh/config
Host webserver
    HostName 203.0.113.10
    User anton
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Host pi
    HostName 192.168.1.50
    User pi

Jetzt reicht ein kurzer Befehl, um dich zu verbinden:

ssh webserver
ssh pi

Das spart Zeit und reduziert Tippfehler erheblich. Du kannst hier auch viele weitere Optionen hinterlegen, etwa Weiterleitungen oder Timeouts.

Dateien übertragen mit scp und rsync

SSH überträgt nicht nur Befehle, sondern auch Dateien. Für einzelne Dateien nutzt du scp (secure copy):

# Datei zum Server hochladen
scp index.html webserver:/var/www/html/

# Datei vom Server herunterladen
scp webserver:/var/log/app.log ./logs/

Für ganze Ordner oder regelmäßige Synchronisationen ist rsync die bessere Wahl, weil es nur geänderte Dateien überträgt:

# Ordner synchronisieren, nur Änderungen übertragen
rsync -avz ./projekt/ webserver:/var/www/projekt/

Die Option -a erhält Berechtigungen, -v ist gesprächig (verbose), und -z komprimiert die Daten während der Übertragung.

Den Server absichern

Sobald die Schlüssel-Anmeldung funktioniert, solltest du die Passwort-Anmeldung deaktivieren. Bearbeite dazu auf dem Server die Datei /etc/ssh/sshd_config:

# In /etc/ssh/sshd_config setzen:
PasswordAuthentication no
PermitRootLogin no

# Danach den SSH-Dienst neu starten
sudo systemctl restart ssh

Wichtig: Teste die Schlüssel-Anmeldung in einem zweiten Terminal, bevor du die aktuelle Sitzung schließt. Sonst sperrst du dich womöglich aus. Zusätzlich lohnt sich ein Tool wie fail2ban, das wiederholte Anmeldeversuche automatisch blockiert.

Fazit

SSH ist ein unverzichtbares Werkzeug, sobald du mit entfernten Servern arbeitest. Mit Schlüsselpaaren statt Passwörtern bist du nicht nur bequemer, sondern auch deutlich sicherer unterwegs. Eine gepflegte ~/.ssh/config spart dir täglich Tipparbeit, und mit scp sowie rsync überträgst du Dateien mühelos. Richte als Nächstes deinen ersten Schlüssel ein und probiere die Verbindung aus – du wirst schnell merken, wie viel angenehmer das Arbeiten damit wird.