Anmelden
Anmelden

So laden Sie Dateien mit cURL herunter

So laden Sie Dateien mit cURL herunter
Emmanuel Oyibo
Technical writer
Linux-System
20.10.2025
Reading time: 9 min

Das Herunterladen von Inhalten von entfernten Servern ist eine Routineaufgabe für Administratoren und Entwickler. Obwohl es zahlreiche Tools für diese Aufgabe gibt, zeichnet sich cURL durch seine Vielseitigkeit und Einfachheit aus. Es handelt sich um ein Befehlszeilenprogramm, das Protokolle wie HTTP, HTTPS, FTP und SFTP unterstützt und daher für Automatisierung, Skripting und effiziente Dateiübertragungen unverzichtbar ist.

Sie können cURL direkt auf Ihrem Computer ausführen, um Dateien abzurufen. Sie können es auch in Skripte einbinden, um die Datenverarbeitung zu optimieren und so manuellen Aufwand und Fehler zu minimieren. Diese Anleitung zeigt verschiedene Methoden zum Herunterladen von Dateien mit cURL. Anhand dieser Beispiele lernen Sie, wie Sie mit Weiterleitungen umgehen, Dateien umbenennen und den Downloadfortschritt überwachen. Am Ende sollten Sie cURL sicher für Aufgaben auf Servern oder in Cloud-Umgebungen einsetzen können.

Grundlegender cURL-Befehl zum Herunterladen von Dateien

Der curl-Befehl arbeitet mit mehreren Protokollen, wird jedoch hauptsächlich mit HTTP und HTTPS verwendet, um eine Verbindung zu Webservern herzustellen. Bei Bedarf kann er auch mit FTP- oder SFTP-Servern interagieren.

Standardmäßig ruft cURL eine Ressource von einer angegebenen URL ab und zeigt sie im Terminal (Standardausgabe) an. Dies ist oft nützlich, um Dateiinhalte anzuzeigen, ohne sie zu speichern, insbesondere bei kleinen Textdateien.

Beispiel: Um den Inhalt einer Textdatei unter https://example.com/file.txt anzuzeigen, führen Sie aus:

curl https://example.com/file.txt

Für kurze Textdokumente ist dieser Ansatz ausreichend. Bei großen oder binären Dateien kann der Bildschirm jedoch mit unlesbaren Daten überflutet werden, daher möchten Sie sie in der Regel speichern.

Remote-Dateien speichern

Häufig besteht das Hauptziel darin, die heruntergeladene Datei auf dem lokalen Computer zu speichern, anstatt sie im Terminal zu sehen. cURL vereinfacht dies mit der Option -O (großes O), die den ursprünglichen Dateinamen der Remote-Datei beibehält.

curl -O https://example.com/file.txt

Dies ruft file.txt ab und speichert sie im aktuellen Verzeichnis unter demselben Namen. Diese Methode ist schnell und bewahrt den vorhandenen Dateinamen, was hilfreich sein kann, wenn der Dateiname eine Bedeutung hat.

Einen anderen Dateinamen wählen

Manchmal ist es wichtig, die heruntergeladene Datei umzubenennen, um Kollisionen zu vermeiden oder ein klares Benennungsschema zu erstellen. Verwenden Sie in diesem Fall die Option -o (kleines o):

curl -o myfile.txt https://example.com/file.txt

Hier lädt cURL die Remote-Datei file.txt herunter, speichert sie jedoch lokal als meine_datei.txt. Dies hilft, Dateien organisiert zu halten oder versehentliches Überschreiben zu vermeiden. Besonders wertvoll ist dies in Skripten, die beschreibende Dateinamen benötigen.

Weiterleitungen folgen

Wenn eine Datei angefordert wird, kann der Server Ihrem Client mitteilen, dass er zu einer anderen URL wechseln soll. Das Verstehen und Handhaben von Weiterleitungen ist entscheidend für erfolgreiche Downloads.

Warum Weiterleitungen wichtig sind

Weiterleitungen werden häufig bei umstrukturierten Websites, verschobenen Dateien oder Spiegelservern verwendet. Ohne Weiterleitungsunterstützung stoppt cURL nach der ersten „verschoben“-Antwort, und Sie erhalten die Datei nicht.

Verwendung von -L oder --location

Um cURL anzuweisen, einer Weiterleitungskette bis zum endgültigen Ziel zu folgen, verwenden Sie -L (oder --location):

curl -L -O https://example.com/redirected-file.jpg

So kann cURL die richtige Datei abrufen, selbst wenn die ursprüngliche URL auf eine andere Adresse verweist. Wenn Sie -L weglassen, zeigt cURL lediglich die Weiterleitungsnachricht an und beendet den Vorgang, was bei Websites mit mehreren Weiterleitungen problematisch ist.

Mehrere Dateien herunterladen

cURL kann auch mehrere Datei-Downloads gleichzeitig verarbeiten, sodass Sie den Befehl nicht wiederholt ausführen müssen.

Verwendung von geschweiften Klammern und Mustern

Wenn Dateinamen einem Muster folgen, können geschweifte Klammern {} verwendet werden, um sie kurz anzugeben:

curl -O https://example.com/files/{file1.jpg,file2.jpg,file3.jpg}

cURL ruft jede Datei der Reihe nach ab, was besonders in automatisierten Workflows nützlich ist.

Verwendung von Bereichen

Für eine Reihe von nummerierten oder alphabetisch benannten Dateien können Sie einen Bereich in eckigen Klammern angeben:

curl -O https://example.com/files/file[1-5].jpg

cURL iteriert automatisch durch die Dateien file1.jpg bis file5.jpg. Dies ist ideal für gleichmäßig benannte Dateiserien.

Mehrere Downloads verketten

Wenn Sie unterschiedliche URLs für jede Datei haben, können Sie sie miteinander verketten:

curl -O https://example1.com/file1.jpg -O https://example2.com/file2.jpg

Dieser Ansatz lädt file1.jpg von der ersten Website und file2.jpg von der zweiten herunter, ohne mehrere Befehle ausführen zu müssen.

Geschwindigkeitsbegrenzung und Zeitüberschreitungen

In bestimmten Situationen möchten Sie möglicherweise die Downloadgeschwindigkeit steuern oder verhindern, dass cURL zu lange auf einen nicht reagierenden Server wartet.

Bandbreitenkontrolle

Um zu verhindern, dass Ihr Netzwerk überlastet wird oder um langsame Bedingungen zu simulieren, können Sie die Downloadrate mit --limit-rate begrenzen:

curl --limit-rate 2M -O https://example.com/bigfile.zip

2M steht für 2 Megabyte pro Sekunde. Sie können auch K für Kilobyte oder G für Gigabyte verwenden.

Zeitüberschreitungen

Wenn ein Server zu langsam ist, möchten Sie möglicherweise, dass cURL nach einer bestimmten Zeit stoppt. Der Parameter --max-time erledigt genau das:

curl --max-time 60 -O https://example.com/file.iso

Hier beendet cURL den Vorgang nach 60 Sekunden, was bei Skripten nützlich ist, die schnelle Fehlererkennung benötigen.

Stiller und ausführlicher Modus

cURL kann seine Ausgabe anpassen, um minimale oder ausführliche Informationen anzuzeigen.

Stille Downloads

Für Batch-Aufgaben oder Cronjobs, bei denen Sie keine Fortschrittsanzeigen benötigen, verwenden Sie -s (oder --silent):

curl -s -O https://example.com/file.jpg

Dies blendet Fortschritt und Fehler aus, was für sauberere Protokolle sorgt. Die Fehlersuche wird jedoch schwieriger, wenn ein Fehler im Stillen auftritt.

Ausführlicher Modus

Im Gegensatz dazu gibt -v (oder --verbose) detaillierte Anfragen- und Antwortinformationen aus:

curl -v https://example.com

Die ausführliche Ausgabe ist unschätzbar, wenn Sie Probleme wie ungültige SSL-Zertifikate oder falsche Weiterleitungen debuggen.

Authentifizierung und Sicherheit

Einige Downloads erfordern Anmeldedaten oder eine sichere Verbindung.

HTTP/FTP-Authentifizierung

Wenn ein Server einen Benutzernamen und ein Passwort benötigt, verwenden Sie -u:

curl -u username:password -O https://example.com/protected/file.jpg

Das direkte Einbetten von Anmeldedaten kann riskant sein, da sie in Protokollen oder Prozesslisten erscheinen könnten. Verwenden Sie nach Möglichkeit Umgebungsvariablen oder .netrc-Dateien für eine sicherere Handhabung.

HTTPS und Zertifikate

Standardmäßig überprüft cURL SSL-Zertifikate. Wenn das Zertifikat ungültig ist, blockiert cURL die Übertragung. Sie können diese Prüfung mit -k oder --insecure umgehen, was jedoch Sicherheitsrisiken birgt. Verwenden Sie nach Möglichkeit eine vertrauenswürdige Zertifizierungsstelle, damit Verbindungen authentifiziert bleiben.

Verwendung eines Proxys

In einigen Umgebungen muss der Datenverkehr über einen Proxyserver geleitet werden, bevor er das Ziel erreicht.

Herunterladen über einen Proxy

Verwenden Sie die Option -x oder --proxy, um den Proxy anzugeben:

curl -x http://proxy_host:proxy_port -O https://example.com/file.jpg

Ersetzen Sie proxy_host und proxy_port durch die entsprechenden Angaben. cURL leitet die Anfrage an den Proxy weiter, der dann die Datei in Ihrem Namen abruft.

Proxy-Authentifizierung

Wenn Ihr Proxy Anmeldedaten erfordert, können Sie diese in die URL einbetten:

curl -x https://proxy.example.com:8080 -U myuser:mypassword -O https://example.com/file.jpg

Auch hier gilt: Das Speichern sensibler Daten im Klartext ist gefährlich. Verwenden Sie stattdessen Umgebungsvariablen oder Konfigurationsdateien.

Downloadfortschritt überwachen

Die Verfolgung des Downloadfortschritts ist bei großen Dateien oder langsamen Verbindungen wichtig.

Standard-Fortschrittsanzeige

Standardmäßig zeigt cURL eine Fortschrittsanzeige an, die die Gesamtgröße, Übertragungsgeschwindigkeit und geschätzte Fertigstellungszeit enthält. Zum Beispiel:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2243      0 --:--:-- --:--:-- --:--:--  2246

Diese Anzeige hilft Ihnen, abzuschätzen, wie viel noch verbleibt und ob die Übertragungsrate akzeptabel ist.

Kompakte Fortschrittsleiste

Wenn Sie weniger Details wünschen, fügen Sie -# hinzu:

curl -# -O https://example.com/largefile.iso

Eine einfachere Leiste zeigt den Gesamtfortschritt in Prozent an. Sie ist übersichtlicher, bietet aber keine tieferen Statistiken wie die aktuelle Geschwindigkeit.

Fortschritt in Skripten erfassen

Wenn Sie cURL in Skripten verwenden, möchten Sie möglicherweise Fortschrittsdaten aufzeichnen. cURL sendet Fortschrittsinformationen normalerweise an stderr, daher können Sie sie umleiten:

curl -# -O https://example.com/largefile.iso 2>progress.log

Hier enthält progress.log die Statusaktualisierungen, die Sie analysieren oder später speichern können.

Fazit

cURL überzeugt als flexibles Befehlszeilen-Tool zum Herunterladen von Dateien über verschiedene Protokolle und Umgebungen. Egal, ob Sie komplexe Weiterleitungen handhaben, Dateien im Handumdrehen umbenennen oder die Bandbreite begrenzen müssen – cURL bietet die passenden Optionen. Wenn Sie die wichtigsten Parameter und Modi beherrschen, können Sie cURL nahtlos in Ihre tägliche Arbeit für Skripting, Automatisierung und effiziente Dateiübertragungen integrieren.

Linux-System
20.10.2025
Reading time: 9 min

Ähnlich

Linux-System

Verwendung des Telnet-Befehls unter Linux

Der Telnet-Befehl ist ein nützliches und praktisches Dienstprogramm zur Netzwerkkommunikation unter Linux. Von Remote-Server- und Port-Scans bis hin zur Fehlersuche bei Netzwerkverbindungen ermöglicht Telnet eine einfache textbasierte Interaktion mit einem entfernten Host. In dieser Schritt-für-Schritt-Anleitung lernst du, wie man Telnet unter Linux installiert, konfiguriert und verwendet. Außerdem werden wir seine Optionen und Funktionen im Detail besprechen, damit du ein vollständiges Verständnis erhältst. Was ist Telnet? Telnet (kurz für Telecommunication Network) ist ein Netzwerkprotokoll, das den Zugriff auf ein anderes System über das Transmission Control Protocol (TCP) ermöglicht. Telnet erlaubt es, sich direkt mit einem bestimmten Host auf einem definierten Port zu verbinden, um Befehle zu senden und Ausgaben in Echtzeit zu lesen. Telnet wird hauptsächlich für folgende Zwecke verwendet: Offene Ports testen: Überprüfen, ob ein Server einen bestimmten Port geöffnet hat. Zugriff auf Dienste: Direkter Zugriff auf Web-, E-Mail- oder andere Netzwerkdienste. Fehlerbehebung im Netzwerk: Diagnose und Behebung von Problemen mit der Netzwerkkonnektivität oder blockierten Ports. Installation von Telnet unter Linux Telnet ist in den meisten modernen Linux-Distributionen nicht vorinstalliert. Die Installation hängt von der jeweiligen Systembasis ab. Für Ubuntu/Debian-basierte Systeme Benutzer von Ubuntu, Debian oder ähnlichen Distributionen können Telnet mit dem APT-Paketmanager installieren: sudo apt install telnet Für Red Hat/CentOS-basierte Systeme Auf Red Hat, CentOS oder Fedora kann Telnet mit yum oder dnf installiert werden: sudo yum install telnet oder für neuere Versionen: sudo dnf install telnet Syntax des Telnet-Befehls verstehen Die Syntax des Telnet-Befehls ist einfach: telnet [hostname/IP] [port] Parameter: [hostname/IP]: Gibt den Hostnamen oder die IP-Adresse des entfernten Hosts an. [port]: Gibt den Port an, zu dem die Verbindung hergestellt werden soll. Wird dieser Parameter weggelassen, wird standardmäßig Port 23 verwendet. Telnet stellt direkte Verbindungen zu Diensten auf bestimmten Ports her, z. B.: HTTP (Port 80), SMTP (Port 25) oder FTP (Port 21). Wichtige Optionen des Telnet-Befehls Der Telnet-Befehl ist sehr flexibel und unterstützt viele Optionen, die seine Funktionalität erweitern. Option Beschreibung -4 Erzwingt die Verwendung von IPv4. -6 Erzwingt die Verwendung von IPv6. -8 Erlaubt die Übertragung von 8-Bit-Daten über Telnet. -E Deaktiviert das Escape-Zeichen für Telnet-Sitzungen. -K Verhindert, dass Telnet automatisch Anmeldeinformationen (z. B. Kerberos-Tickets) übermittelt. -L Aktiviert den Loopback-Modus, um eine Verbindung zum eigenen Host herzustellen. -X atype Gibt den Authentifizierungstyp an (z. B. KERBEROS_V4). -a Füllt den Benutzernamen beim Anmelden automatisch aus. -d Aktiviert den Debug-Modus und zeigt detaillierte Verbindungsinformationen an. -e char Legt ein alternatives Escape-Zeichen fest. -l user Gibt den Benutzernamen für den Login-Versuch an. -n tracefile Schreibt Sitzungsprotokolle in eine Trace-Datei. -b addr Definiert die lokale Adresse oder Schnittstelle für die Verbindung. -r Erstellt eine Reverse-Telnet-Verbindung.   Verwendung von Telnet: praktische Beispiele Telnet bietet wertvolle Diagnose- und Testfunktionen für Netzwerke. Hier sind einige typische Anwendungsfälle: Offene Ports testen Um zu überprüfen, ob Port 80 eines Servers geöffnet ist: telnet example.com 80 Wenn der Port offen ist, zeigt Telnet einen leeren Bildschirm oder wartet auf Eingabe – ein Zeichen dafür, dass der Port lauscht. Interaktion mit SMTP-Servern Telnet kann zur Fehlersuche bei Mailservern verwendet werden, indem rohe SMTP-Befehle gesendet werden. Zum Beispiel: telnet mail.example.com 587 Nach dem Verbindungsaufbau können Befehle wie HELO, MAIL FROM oder RCPT TO direkt eingegeben werden, um mit dem Server zu kommunizieren. HTTP-Anfragen senden Telnet ermöglicht das manuelle Testen von Webservern, indem du HTTP-Anfragen sendest. telnet example.com 80 Gib nach dem Verbindungsaufbau Folgendes ein: GET / HTTP/1.1 Host: example.com Drücke zweimal Enter, um die Anfrage zu senden. Die Antwort des Servers wird daraufhin angezeigt. Verbindung über IPv4 erzwingen Wenn der Server sowohl IPv4 als auch IPv6 unterstützt, kannst du die IPv4-Verbindung erzwingen: telnet -4 example.com 80 Dies stellt sicher, dass die Verbindung über ein IPv4-Netzwerk erfolgt. Verbindung zu einem MySQL-Server testen Telnet kann verwendet werden, um zu prüfen, ob der MySQL-Serverport (3306) offen ist: telnet database.example.com 3306 Wenn die Verbindung erfolgreich ist, zeigt Telnet eine Protokoll-bezogene Begrüßung des MySQL-Servers an. Sicherheitsaspekte bei der Verwendung von Telnet Auch wenn Telnet praktisch ist, ist es grundsätzlich unsicher, da es Daten – einschließlich Passwörter – im Klartext überträgt. 👉 Daher gilt: Verwende Telnet nicht über unsichere Netzwerke. Nutze nach Möglichkeit private, geschützte Netzwerke. Bevorzuge Alternativen: Verwende SSH (Secure Shell) für verschlüsselte Kommunikation. Deaktiviere Telnet: Falls es auf deinem Server nicht benötigt wird, deaktiviere den Dienst vollständig. Erweiterte Telnet-Anwendungsfälle Telnet wird in verschiedenen Szenarien eingesetzt: Überwachung von Diensten: Überprüfe IMAP- oder POP3-Server direkt über Telnet. IoT-Geräteverwaltung: Einige IoT-Geräte unterstützen Telnet als einfache Textschnittstelle. Bildungszwecke: Ideal zum Erlernen von Netzwerkprotokollen und Serverantworten. Häufige Telnet-Probleme und deren Lösung Trotz seiner Einfachheit können mit Telnet verschiedene Probleme auftreten: Connection Refused: Zielport ist geschlossen oder durch eine Firewall blockiert. Time-Out Errors: Netzwerkverzögerung oder Routing-Probleme. Permission Denied: Unzureichende Benutzerrechte oder Portbeschränkung. Eine regelmäßige Überprüfung der Serverkonfiguration und Netzwerkeinstellungen hilft, solche Probleme zu vermeiden. Alternativen zu Telnet Wenn Telnet aufgrund fehlender Verschlüsselung ein Sicherheitsrisiko darstellt, können folgende Alternativen verwendet werden: SSH (Secure Shell): Die gängigste Alternative mit verschlüsselter Kommunikation, Tunneling und starker Authentifizierung. → Verwende den Befehl ssh, um sicher auf Remote-Server zuzugreifen. Netcat (nc): Leistungsstarkes Werkzeug für Debugging, Port-Scans und Verbindungstests über TCP/UDP. OpenSSL s_client: Zum sicheren Testen von SSL/TLS-Verbindungen auf bestimmten Ports. Fazit Telnet ist ein einfaches, aber leistungsfähiges Werkzeug für Netzwerkdiagnosen und Debugging unter Linux. Wenn du seine Sicherheitsrisiken kennst und ihn verantwortungsbewusst einsetzt, bleibt Telnet ein praktisches Hilfsmittel für Tests und Kommunikation im Netzwerk. Diese Anleitung bietet dir eine vollständige Einrichtung und vermittelt, wie du Telnet sicher und effektiv zur Verwaltung deiner Systeme einsetzen kannst.
13 October 2025 · 6 min to read
SSH

Dateien über SSH kopieren

Das SSH-Protokoll (Secure Shell) ist ein Netzwerkprotokoll für die Remote-Kommandozeilenverwaltung von Betriebssystemen und gilt weithin als Standard für den Fernzugriff auf *nix-Systeme. Es ermöglicht eine sichere Anmeldung auf einem Server, das Ausführen von Befehlen aus der Ferne, die Verwaltung von Dateien (Erstellen, Löschen, Kopieren usw.) und vieles mehr. Die meisten Cloud- und Hosting-Anbieter verlangen SSH, um auf ihre Dienste zuzugreifen. In diesem Artikel zeigen wir, wie man Dateien über SSH sowohl unter Windows als auch unter Linux kopiert. Funktionsweise von SSH SSH kann beliebige Daten (Audio, Video, Anwendungsprotokolldaten) sicher über einen verschlüsselten Kommunikationskanal übertragen. Im Gegensatz zu veralteten und unsicheren Protokollen wie Telnet und rlogin gewährleistet SSH Vertraulichkeit und Authentizität der Daten – ein entscheidender Faktor für die Kommunikation über das Internet. So wird eine sichere Verbindung zwischen Client und Server hergestellt: TCP-Verbindungsaufbau: Standardmäßig lauscht der Server auf Port 22. Beide Seiten teilen eine Liste unterstützter Algorithmen (Kompression, Verschlüsselung, Schlüsselaustausch) und einigen sich auf die zu verwendenden. Authentifizierung: Um Identitätsdiebstahl zu verhindern, überprüfen beide Seiten ihre Identitäten mittels asymmetrischer Verschlüsselung (öffentliche/private Schlüsselpaare). Zuerst wird der Server authentifiziert. Beim ersten Verbindungsaufbau zeigt der Client eine Warnung mit Serverdetails an. Vertrauenswürdige Server-Schlüssel werden in  /home/<username>/.ssh/known_hosts. Schlüsselgenerierung: Sobald der Server verifiziert ist, generieren beide Seiten einen symmetrischen Schlüssel, um den gesamten Datenaustausch zu verschlüsseln. Benutzerauthentifizierung: Dies geschieht entweder mit einem Passwort oder mit einem vom Client gesendeten öffentlichen Schlüssel, der auf dem Server in /home/<username>/.ssh/authorized_keys gespeichert ist. Die beliebteste Implementierung unter Linux ist OpenSSH, das auf den meisten Distributionen (Ubuntu, Debian, RHEL-basiert usw.) vorinstalliert ist. Unter Windows werden Clients wie PuTTY oder MobaXterm verwendet. Seit Windows 10 und Server 2019 sind OpenSSH-Tools auch nativ verfügbar. Dateien über SSH kopieren Zwei Hauptprogramme zum Kopieren von Dateien über SSH unter Linux sind scp und sftp. Beide sind Teil von OpenSSH. SSH unterstützt zwei Protokollversionen: 1 und 2. OpenSSH unterstützt beide, Version 1 wird jedoch kaum noch verwendet. Einrichtung der Autovervollständigung Um Tab-basierte Autovervollständigung bei der Verwendung von scp zu aktivieren, richte eine Public-Key-Authentifizierung ein: Schlüsselpaar generieren: ssh-keygen Die Ausgabe sieht etwa so aus: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Standardmäßig werden deine Schlüssel (id_rsa für den privaten und id_rsa.pub für den öffentlichen) in ~/.ssh/ gespeichert. Öffentlichen Schlüssel auf die Remote-Maschine kopieren: ssh-copy-id [username]@[ip-address] Nach Eingabe des Benutzerpassworts erscheint eine Meldung, die bestätigt, dass der Schlüssel hinzugefügt wurde. Secure Copy (SCP) Für kleine Datenübertragungen (z. B. Dienstkonfigurationen) ist scp ideal. Von lokal zu Remote kopieren: scp test.txt user@192.168.1.29:/home/user/ Mehrere Dateien kopieren: scp test1.txt test2.txt user@192.168.1.29:/home/user/ Von Remote zu lokal kopieren: scp user@192.168.1.29:/home/user/test.txt ~/ Verzeichnisse kopieren: scp -r testdir user@192.168.1.29:/home/user/ Remote-zu-Remote kopieren: scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/ Secure FTP (SFTP) SFTP ist ein weiteres Dienstprogramm, das in OpenSSH enthalten ist. Seit OpenSSH 9.0 verwendet scp standardmäßig SFTP anstelle des alten SCP/RCP-Protokolls. Im Gegensatz zu klassischem FTP überträgt sftp Daten verschlüsselt über einen sicheren Tunnel. Es ist kein separater FTP-Server erforderlich. Beispielverwendung: sftp misato@192.168.1.29 sftp> ls sftp> lcd testdir/ sftp> get test.txt sftp> bye Grafische Dateimanager wie Midnight Commander und Nautilus verwenden ebenfalls sftp. In Nautilus erscheint der Remote-Server wie ein lokaler Ordner, z. B. user@ip. Dateien über SSH unter Windows kopieren Unter Windows wird das Befehlszeilentool pscp aus PuTTY verwendet, um Dateien zu kopieren. Datei auf den Server kopieren: pscp C:\server\test.txt misato@192.168.1.29:/home/misato/ Datei vom Server kopieren: pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt Dateien auf dem Remote-Server auflisten: pscp -ls user@192.168.1.29:/home/misato Anführungszeichen für Pfade mit Leerzeichen verwenden: pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/ Hilfe anzeigen: pscp Fazit In diesem Artikel haben wir gezeigt, wie man Dateien mithilfe des sicheren SSH-Protokolls zu und von einem Server kopiert. Wenn du mit Cloud-Servern arbeitest, ist das Verständnis von SSH unerlässlich — es ist der Standard für den Fernzugriff auf *nix-Maschinen und ein wichtiger Bestandteil des täglichen DevOps- und Systemadministrations-Workflows.
10 October 2025 · 5 min to read
Linux-System

So öffnest du Ports und listest offene Ports unter Linux auf

Beim Arbeiten mit Netzwerken unter Linux kann es notwendig sein, einen Netzwerkport zu öffnen oder zu schließen. Das Port-Management ist ein wesentlicher Bestandteil der Sicherheit: Je weniger Ports in einem System geöffnet sind, desto weniger potenzielle Angriffsvektoren gibt es. Außerdem kann ein Angreifer keine Informationen über den Dienst auf einem bestimmten Port sammeln, wenn dieser geschlossen ist. In dieser Anleitung wird erklärt, wie du Ports öffnen oder schließen kannst und wie du offene Ports unter Linux-Distributionen wie Ubuntu/Debian und CentOS/RHEL mit Firewalls wie ufw, firewalld und iptables überprüfst. Wir demonstrieren diesen Prozess anhand von zwei Linux-Distributionen: Ubuntu 22.04 und CentOS 9, die auf einem Hostman VPS ausgeführt werden. Alle hier aufgeführten Befehle funktionieren auf allen Debian- oder RHEL-basierten Distributionen. Was ist ein Netzwerkport? Ports werden verwendet, um auf bestimmte Anwendungen und Protokolle zuzugreifen. Ein Server kann beispielsweise sowohl einen Webserver als auch eine Datenbank hosten – Ports leiten den Datenverkehr an den entsprechenden Dienst weiter. Technisch gesehen ist ein Netzwerkport eine nichtnegative Ganzzahl im Bereich von 0 bis 65535. Reservierte Ports (0–1023): Werden von bekannten Protokollen und Netzwerkdiensten wie SSH (Port 22), FTP (Port 21), HTTP (Port 80) und HTTPS (Port 443) verwendet. Registrierte Ports (1024–49151): Können von bestimmten Anwendungen für die Kommunikation verwendet werden. Dynamische Ports (49152–65535): Werden für temporäre Verbindungen verwendet und können dynamisch Anwendungen zugewiesen werden. So öffnest du Ports auf Debian-basierten Linux-Distributionen Auf Debian-basierten Systemen (Ubuntu, Debian, Linux Mint usw.) kannst du ufw (Uncomplicated Firewall) verwenden. ufw ist auf den meisten APT-basierten Distributionen bereits vorinstalliert. Überprüfe die Installation mit: ufw version Wenn eine Versionsnummer angezeigt wird, ist ufw installiert. Andernfalls installiere es mit: apt update && apt -y install ufw Standardmäßig ist ufw inaktiv, was bedeutet, dass alle Ports geöffnet sind. Den Status kannst du mit folgendem Befehl prüfen: ufw status Um ufw zu aktivieren: ufw enable Du musst die Aktivierung mit y bestätigen. Beachte, dass das Aktivieren von ufw aktive SSH-Verbindungen unterbrechen kann. Standardmäßig blockiert ufw allen eingehenden Verkehr und erlaubt allen ausgehenden Verkehr. Überprüfe die Standardrichtlinie mit: cat /etc/default/ufw Ports in ufw öffnen Um einen Port zu öffnen: ufw allow <port_number> Beispiel – Port 22 für SSH öffnen: ufw allow 22 Mehrere Ports kannst du mit Kommas trennen und das Protokoll angeben (tcp oder udp): ufw allow 80,443,8081,8443/tcpufw allow 80,443,8081,8443/udp Anstelle von Portnummern kannst du auch den Dienstnamen verwenden (wie in /etc/services definiert). Beispiel – Telnet (Port 23) öffnen: ufw allow telnet Hinweis: Mehrere Dienstnamen können nicht gleichzeitig angegeben werden, sonst gibt ufw einen Fehler aus: Um einen Portbereich zu öffnen: ufw allow <start_port>:<end_port>/<protocol> Beispiel: ufw allow 8000:8080/tcp Ports in ufw schließen Um einen Port zu schließen: ufw deny <port_number> Beispiel – Port 80 schließen: ufw deny 80 Auch hier kannst du statt der Portnummer den Dienstnamen verwenden. Beispiel – Port 21 (FTP) schließen: ufw deny ftp Offene Ports in ufw anzeigen Um alle offenen und geschlossenen Ports im System aufzulisten: ufw status Oder eine detailliertere Ansicht: ufw status verbose Einen Port auf RHEL-basierten Linux-Distributionen öffnen RHEL-basierte Distributionen (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) verwenden standardmäßig firewalld. Ports in firewalld öffnen Überprüfe, ob firewalld installiert ist: firewall-offline-cmd -V Wenn eine Version angezeigt wird, ist firewalld installiert. Andernfalls installiere es: dnf install firewalld Standardmäßig ist firewalld deaktiviert. Status prüfen: firewall-cmd --state Zum Aktivieren: systemctl start firewalld Port 8080 für das TCP-Protokoll öffnen: firewall-cmd --zone=public --add-port=8080/tcp --permanent --zone=public: Gibt die Zone an, für die die Regel gilt. --add-port=8080/tcp: Gibt Port und Protokoll an. --permanent: Speichert die Regel dauerhaft (überlebt Neustarts). Alternativ kannst du auch einen Dienstnamen angeben, z. B. HTTP (Port 80): firewall-cmd --zone=public --add-service=http --permanent Änderungen übernehmen: firewall-cmd --reload Ports in firewalld schließen Um einen Port zu schließen (nach Nummer): firewall-cmd --zone=public --remove-port=8080/tcp --permanent Oder nach Dienstname: firewall-cmd --zone=public --remove-service=http --permanent Danach immer neu laden: firewall-cmd --reload Ports mit iptables verwalten Alle offenen Ports anzeigen: firewall-cmd --list-ports Ports mit iptables verwalten Im Gegensatz zu ufw und firewalld ist iptables bei vielen Distributionen (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux) bereits vorinstalliert. Ports in iptables öffnen Um Port 8182 für eingehende Verbindungen zu öffnen: iptables -A INPUT -p tcp --dport 8182 -j ACCEPT -A INPUT: Fügt eine Regel zur Eingabekette hinzu. -p tcp: Gibt das Protokoll an. --dport 8182: Gibt den zu öffnenden Port an. -j ACCEPT: Erlaubt Verkehr durch diesen Port. Für ausgehende Verbindungen: iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT Um einen Portbereich zu öffnen: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT Ports in iptables schließen Um einen Port zu schließen: iptables -A INPUT -p tcp --dport 8182 -j DROP Portbereich schließen: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP iptables-Regeln speichern Standardmäßig gehen iptables-Regeln nach einem Neustart verloren. Um sie dauerhaft zu speichern, installiere iptables-persistent: Für APT-basierte Systeme: apt update && apt -y install iptables-persistent Für DNF-basierte Systeme: dnf -y install iptables-persistent Regeln speichern: iptables-save Nach dem nächsten Neustart werden die Regeln automatisch geladen. Offene Ports in iptables anzeigen Alle aktuellen Regeln und offenen Ports auflisten: iptables -L -v -n Nur IPv4-Regeln anzeigen: iptables -S Nur IPv6-Regeln anzeigen: ip6tables -S Fazit In dieser Anleitung haben wir gezeigt, wie man Netzwerkports unter Linux öffnet und schließt und wie man aktuell offene Ports mit drei verschiedenen Tools überprüft: ufw, firewalld und iptables. Eine korrekte Verwaltung von Ports verringert das Risiko potenzieller Netzwerkangriffe und hilft, Informationen über die auf diesen Ports laufenden Dienste zu verbergen.
10 October 2025 · 6 min to read

Haben Sie Fragen,
Anmerkungen oder Bedenken?

Unsere Fachleute stehen Ihnen jederzeit zur Verfügung,
egal ob Sie Hilfe benötigen oder nicht wissen, wo Sie anfangen sollen.
E-Mail an uns
Hostman's Support