Einführung in SSH: Einrichtung von Remote-Zugriff, Verwendung von Schlüsseln
1. Was ist SSH?
Stell dir vor, du bist auf einem Ende des Planeten, und der Server, den du einrichten musst, ist auf dem anderen Ende. Die Arbeit eines IT-Mitarbeiters in der Schule mit Herumrennen zwischen Räumen — das ist definitiv nicht das, was wir wollen. Zum Glück gibt es SSH (Secure SHell) — ein Tool für die Fernverwaltung von Servern.
SSH ist ein Netzwerkprotokoll, das es ermöglicht, sicher auf entfernte Computer zuzugreifen. Die Verbindung erfolgt mit Verschlüsselung, was bedeutet, dass die übertragenen Daten vor fremden Augen geschützt sind. SSH ersetzt veraltete Methoden wie Telnet, die Daten im Klartext übertragen haben (wie eine offene Postkarte).
Vorteile von SSH
- Sicherheit. SSH verwendet Verschlüsselung, um Daten vor Abfangen zu schützen.
- Flexibilität. Fernverwaltung von Servern, Dateiübertragung, Erstellen von Tunneln — all das ist über SSH möglich.
- Plattformübergreifend. Funktioniert unter Linux, Windows (einschließlich WSL) und MacOS.
Jetzt, da du verstehst, warum SSH benötigt wird, lass uns zur Praxis übergehen.
2. SSH-Client-Installation
Fangen wir mit dem Client an, der es ermöglicht, eine Verbindung zu einem Server herzustellen. Wenn du eine moderne Linux-Distribution verwendest, ist der SSH-Client höchstwahrscheinlich bereits installiert. Lass uns das überprüfen:
ssh -V
Du solltest Informationen über die Version des SSH-Clients sehen. Wenn der Befehl nicht gefunden wird, installiere ihn (auf Ubuntu und anderen Debian-basierten Distributionen):
sudo apt update
sudo apt install openssh-client
Auf MacOS ist der SSH-Client vorinstalliert, und wenn du in WSL arbeitest, ist die Installation ähnlich wie bei Linux.
3. Verbindung zu einem Remote-Server über SSH
Die Verbindung zum Server erfolgt mit folgendem Befehl:
ssh username@hostname
username— der Benutzername auf dem Remote-Server.hostname— die IP-Adresse oder der Domainname des Servers.
Ein Beispiel für eine Verbindung:
ssh student@192.168.1.10
Wenn alles korrekt eingerichtet ist, fragt das System nach einem Passwort. Nach der Eingabe des Passworts befindest du dich in der Remote-Konsole des Servers. Glückwunsch, du bist auf halbem Weg zur Karriere als "Operator eines Super-Schurken im Hackerfilm".
4. Installation und Konfiguration eines SSH-Servers
Installation des SSH-Servers
Wenn du an einem Server oder einer lokalen Maschine arbeitest, zu der du eine Verbindung herstellen möchtest, musst du den SSH-Server installieren. Auf Ubuntu machst du das so:
sudo apt update
sudo apt install openssh-server
Prüfen wir den Status des SSH-Dienstes:
sudo systemctl status ssh
Du solltest eine Meldung wie active (running) sehen. Wenn der Server nicht läuft, benutze folgendes:
sudo systemctl start ssh
sudo systemctl enable ssh
Jetzt ist der SSH-Server bereit, Verbindungen anzunehmen.
Konfiguration des SSH-Servers
Die Hauptkonfigurationsdatei des SSH-Servers ist /etc/ssh/sshd_config. Um diese zu bearbeiten, benutze einen beliebigen Texteditor, z.B. nano:
sudo nano /etc/ssh/sshd_config
Achte auf die folgenden Parameter:
Port 22— der Port, auf dem SSH läuft.PermitRootLogin no— Verbot der Verbindung für root (es wird empfohlen,nobeizubehalten, aus Sicherheitsgründen).PasswordAuthentication yes— Erlaubnis der Verbindung per Passwort.
Nach Änderungen der Parameter starte den SSH-Server neu:
sudo systemctl restart ssh
5. Verwendung der Schlüssel-Authentifizierung
Die Verbindung mit Passwort ist praktisch, aber nicht sicher. Die beste Option ist die Verwendung von SSH-Schlüsseln.
SSH-Schlüssel generieren
Führe auf deinem Client-Computer folgenden Befehl aus:
ssh-keygen
Das Skript fragt nach dem Speicherpfad des Schlüssels (Standard: ~/.ssh/id_rsa). Du kannst Enter drücken, um diesen zu akzeptieren. Danach wirst du nach einer Passphrase gefragt. Es ist besser, diese leer zu lassen, um es einfacher zu machen (aber das ist nicht sehr sicher).
Nach der Ausführung des Befehls werden die Schlüsseldateien erstellt:
id_rsa— privater Schlüssel (mach ihn nicht öffentlich, genau wie den Quellcode deines Projekts vor dem Release, besonders wenn er voller technischer Schulden steckt).id_rsa.pub— öffentlicher Schlüssel (diesen kannst du für die Verbindung verwenden).
Übertragung des Schlüssels auf den Server
Verwende den Befehl ssh-copy-id, um den öffentlichen Schlüssel auf den Server zu übertragen:
ssh-copy-id username@hostname
Das fügt deinen öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys auf dem Server ein. Jetzt kannst du dich ohne Passwort verbinden.
Probiere es aus:
ssh username@hostname
Wenn alles erfolgreich war, wirst du nicht nach einem Passwort gefragt. Dein Leben ist offiziell ein kleines bisschen einfacher geworden.
SSH und WSL
Wenn du mit Windows über WSL arbeitest, kannst du dort ebenfalls SSH verwenden. Öffne das WSL-Terminal und installiere den SSH-Client:
sudo apt update
sudo apt install openssh-client
Die weiteren Schritte sind die gleichen wie bei Linux.
6. Praktischer Teil: SSH auf localhost einrichten
Für die Praxis kannst du eine SSH-Verbindung zwischen zwei Maschinen im selben Netzwerk oder sogar auf deinem eigenen Computer (indem du localhost als Adresse nutzt) einrichten.
- Installiere den SSH-Server und Client auf einer Maschine.
- Verbinde dich über die lokale Adresse:
ssh your_user@localhost
- Richte die Schlüsselverbindung ein, wie oben gezeigt.
Am Ende solltest du eine Verbindung ohne Passwort-Eingabe haben.
7. Arbeit mit SSH-Konfigurationsdateien und Aliasen
Wenn du dich häufig mit verschiedenen Servern verbindest, kannst du dir das Leben erleichtern, indem du eine SSH-Konfiguration in die Datei ~/.ssh/config hinzufügst:
Host myserver
HostName 192.168.1.10
User student
IdentityFile ~/.ssh/id_rsa
Jetzt kannst du dich mit folgendem Befehl verbinden:
ssh myserver
Häufige Fehler und deren Behebung
Fehler "Connection refused". Das bedeutet, dass der SSH-Server auf der entfernten Maschine nicht läuft. Stelle sicher, dass er installiert und gestartet wurde.
Fehler "Permission denied". Entweder hast du ein falsches Passwort eingegeben oder die Schlüssel sind falsch konfiguriert. Überprüfe den Inhalt der Datei
~/.ssh/authorized_keysauf dem Server.Fehler "No route to host". Überprüfe, ob der Server über das Netzwerk erreichbar ist (nutze
ping).
Jetzt bist du mit dem Wissen ausgestattet, wie man SSH einrichtet, Schlüssel verwendet und typische Probleme vermeidet. Es ist ein mächtiges Tool, das überall eingesetzt wird, sei es bei der Serverkonfiguration am Arbeitsplatz oder bei der Verwaltung eines Raspberry Pi zu Hause.
GO TO FULL VERSION