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.
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.comBeim 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.comDer 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 piJetzt reicht ein kurzer Befehl, um dich zu verbinden:
ssh webserver
ssh piDas 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 sshWichtig: 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.