SSH konfigurieren, Netzwerkdiagnose mit ping
, netstat
, dig
1. Einrichtung eines SSH-Servers
Willkommen zu einem praktischen Tauchgang in die Netzwerkfähigkeiten von Linux. Heute ist es an der Zeit, unser Wissen auf die Probe zu stellen! Du wirst lernen, wie man einen SSH-Server einrichtet, sich über einen Client verbindet, das Netzwerk mit den beliebtesten Befehlen diagnostiziert und die Verfügbarkeit von Ports prüft. Lass uns wie echte Netzwerk-Ingenieure fühlen!
SSH (Secure Shell) ist ein Tool für sicheren Remote-Zugriff auf einen Server. Es ermöglicht dir, dich mit dem Server zu verbinden, ihn zu verwalten, als würdest du direkt davor sitzen, und Dateien zu übertragen.
Schritt 1: Installation des SSH-Servers
Zu Beginn installieren wir den SSH-Server. Wenn du Ubuntu oder Debian verwendest, führe folgenden Befehl aus:
sudo apt update
sudo apt install openssh-server -y
Falls du Fedora oder CentOS nutzt:
sudo yum install -y openssh-server
Nach der Installation stelle sicher, dass der SSH-Dienst läuft:
sudo systemctl start ssh
sudo systemctl enable ssh # Damit SSH automatisch beim Systemstart startet
sudo systemctl status ssh # Status des Dienstes prüfen
Falls alles erfolgreich war, wirst du sehen, dass der Dienst läuft.
Schritt 2: Konfiguration des SSH-Servers
Die Konfigurationsdatei des SSH-Servers befindet sich hier:
sudo nano /etc/ssh/sshd_config
Einige nützliche Parameter:
PermitRootLogin no
— Login als Benutzerroot
verbieten.PasswordAuthentication yes
— Passwort-Authentifizierung aktivieren.PubkeyAuthentication yes
— Authentifizierung mit Schlüsseln aktivieren.
Nach den Änderungen starte SSH neu:
sudo systemctl restart ssh
Nun ist der Server bereit für Verbindungen.
Schritt 3: Verbindung zum Server via SSH herstellen
Von einem anderen Rechner (oder vom lokalen Rechner über localhost) probiere, dich zu verbinden:
ssh your_username@your_server_ip
Wenn du lokal arbeitest, ersetze your_server_ip
mit 127.0.0.1
. Gib das Passwort deines Benutzers ein, und du befindest dich im System via Terminal.
2. Authentifizierung mit Schlüsseln einrichten
Passwortbasierte Authentifizierung ist bequem, aber aus Sicherheitsgründen ist die Verwendung von SSH-Schlüsseln die bessere Option.
Schritt 1: SSH-Schlüssel generieren
Führe auf der Client-Maschine den folgenden Befehl aus:
ssh-keygen
Du wirst gefragt, wo die Schlüssel gespeichert werden sollen. Standardmäßig werden sie im Verzeichnis ~/.ssh/
gespeichert. Drücke einfach Enter.
Schritt 2: Schlüssel auf den Server kopieren
Wir kopieren den öffentlichen Schlüssel auf den Server:
ssh-copy-id your_username@your_server_ip
Jetzt kannst du dich ohne Passwort anmelden:
ssh your_username@your_server_ip
Wenn alles richtig eingerichtet ist, herzlichen Glückwunsch! Dein SSH-Server ist jetzt durch Schlüssel-Authentifizierung geschützt.
3. Netzwerkdiagnose mit ping
Wir kennen diesen Befehl schon. Lass uns schnell die Verfügbarkeit unseres SSH-Servers überprüfen.
ping -c 4 your_server_ip
Du solltest eine Antwort vom Server sehen. Wenn keine Antwort kommt, überprüfe, ob der Server läuft und korrekt eingerichtet ist.
4. DNS-Überprüfung mit nslookup
und dig
Wenn dein Server einen Domainnamen besitzt, kannst du seine Funktionalität mit DNS überprüfen. Zum Beispiel:
Befehl nslookup
:
nslookup your-domain.com
Du solltest die IP-Adresse sehen, die deiner Domain entspricht.
Befehl dig
:
Jetzt versuchen wir, einen vollständigen Datensatz zu erhalten:
dig your-domain.com
Du wirst viele Informationen sehen, aber uns interessiert die Zeile mit ANSWER SECTION
, wo die IP-Adresse angegeben wird.
5. Analyse von Netzwerkverbindungen mit netstat
und ss
Der SSH-Server hört standardmäßig auf Port 22. Lass uns das mit netstat
überprüfen:
sudo netstat -tln | grep 22
Oder mithilfe von ss
, einem moderneren Tool:
sudo ss -tln | grep 22
Wenn du siehst, dass Port 22 "LISTEN" (auf Verbindung wartet), dann ist der Server bereit, Clients zu akzeptieren.
6. Überprüfung der Port-Verfügbarkeit mit nc
Der Befehl netcat
(oder nc
) ermöglicht das Testen der Port-Verfügbarkeit. Lass uns versuchen, uns mit unserem SSH-Server zu verbinden:
nc -zv your_server_ip 22
Du solltest eine Nachricht wie "Connection to your_server_ip 22 port [tcp/ssh] succeeded!"
sehen.
Wenn die Verbindung nicht erfolgreich ist, könnte das bedeuten, dass der Port durch eine Firewall blockiert ist oder dass der Server nicht auf dem angegebenen Port hört.
7. Praktische Aufgabe
Lass uns alles in einem praktischen Szenario zusammenfassen. Du wirst Folgendes benötigen:
- SSH auf deiner Maschine oder virtuellen Umgebung aktivieren, z. B. WSL2.
- Schlüssel generieren und die Authentifizierung per Schlüssel konfigurieren (Passwörter verbieten).
- Eine Verbindung zum Server über SSH herstellen.
ping
verwenden, um die Erreichbarkeit des Servers zu prüfen.nslookup
unddig
nutzen, um die Auflösung der IP-Adresse zu überprüfen (falls du einen Domänennamen hast).- Port 22 auf dem Server mit
netstat
,ss
undnc
prüfen.
Jetzt bist du nicht nur bereit, Remote-Zugriffe einzurichten, sondern auch Netzwerkprobleme zu beheben, Server zu diagnostizieren und sie wie ein echter Pro zu schützen! Du bewegst dich bereits in Richtung Linux-Guru.
GO TO FULL VERSION