SFTP und SCP zur Datenübertragung nutzen

(Last Updated On: 13. Dezember 2015)

In vergangenen Posts habe ich Ihnen gezeigt, wie Sie über NFS- oder Samba-Freigaben permanente Netzwerkfreigaben in Ihrem Netzwerk einrichten. Diese Art von Dateifreigaben eignen sich vor allem innerhalb eines lokalen Netzwerks oder innerhalb eines VPN-Netzwerkes zum permanenten Austausch von Dateien.

Für die schnelle, spontante Übertragung von Dateien von einem Host zum anderen, beispielsweise um schnell irgendwelche Konfigurationsdateien, Setup-Dateien oder Ähnliches auszutauschen, sind diese Wege der Datenübertragung häufig zu aufwendig.

Deswegen zeige ich Ihnen in diesem Post kurz, wie sie auf jedem Server, auf den Sie sich bereits per SSH verbinden können, schnell Dateien übertragen können. dazu brauchen sie auf dem Rechner, der die Dateien bekommen soll, einen SSH-Server. Wie Sie diesen einrichten und sich dann von einem Windows-Client aus auf diesen verbinden, habe ich Ihnen hier gezeigt. In diesem Post haben Sie auch die Tools pscp und pageant kennengelernt, die wir in folgendem Tutorial nutzen werden. Und in diesem Post für Linux-Clients zeige ich Ihnen die Äquivalente ssh-agent und scp. Egal ob Sie nun von einem windows- oder Linux-Client Dateien auf den Zielrechner mit dem SSh-Server darauf bekommen wollen, ich zeige Ihnen nun, wie Sie dies mit den beiden Verfahren SCP und SFTP quick and dirty machen können

Dateien per SCP auf den Zielrechner übertragen

Unter Windows laden Sie, wenn Sie den SSH-Server auf dem Zielrechner mit Public Key authentication eingerichtet haben, erst in der pageant.exe Ihren Private Key, damit Sie sich später am SSH-Server mit diesem Key anmelden können. Unter Linux laden Sie Ihren Private Key entsprechend mit ssh-agent. Dann öffnen Sie eine Eingabeaufforderung und rufen mit dieser die pscp.exe folgendermaßen auf:

pscp.exe <Pfad zu der zu übertragenden datei> <Benutzername auf dem Zielrechner mit dem Sie sich per SSH anmelden wollen>@<Hostname oder IP zielrechner>:<Pfad auf dem Zielrechner, wo die Datei landen soll>

Ein Beispiel wäre also

pscp.exe .\config.txt root@192.168.0.1:/usr/bin

Damit wird die Datei config.txt auf dem Quellrechner in den Ordner /usr/bin auf dem Zielrechner abgelegt.

Wenn Sie einen ganzen Ordner mit mehreren Unterordner übertragen wollen, nutzen Sie den Parameter -r

pscp.exe -r .\Ordner\* root@192.168.0.1:/usr/bin

damit werden alle Dateien und Unterordner, die sich unterhalb von „Ordner“ befinden, auf den Server nach /usr/bin übertragen.

Wenn Sie beim Einrichten des SSH-Servers zusätzlich den Port verändert haben, so dass der SSH-Server nicht mehr auf Port 22, sondern auf einen anderen, z. B. 27001 horcht, dann geben Sie diesen mit -P an

pscp.exe -r -P 27001 .\Ordner\* root@192.168.0.1:/usr/bin

Unter Linux funktioniert das ganze genau so, nur dass Sie statt der pscp.exe die Binary namens scp nutzen

scp -r -P 27001 ./lokaledatei.txt root@192.168.0.1:/usr/bin

Dateien per SFTP auf den Zielrechner übertragen

ein anderes Verfahren, welches Sie nutzen können, ist das SFTP-Verfahren. Auch hierfür brauchen Sie einen eingerichteten SSH-Server. SFTP bietet sich an, wenn irgendein Anwendungsprogramm die Möglichkeit bietet, Dateien von einer FTP-Quelle anzunehmen, um sich beispielsweise selbst zu aktualisieren oder zu konfigurieren. Sie können dann die updatedateien oder die Konfigurationsdateien entsprechend über SFTP schnell bereitstellen, ohne umständlich einen ganzen FTP-Server aufsetzen zu müssen. dazu muss das Anwendungsprogrmam lediglich SFTP unterstützen.

aber auch zum bloßen Übertragen von Dateien eignet sich dieses Verfahren genau so gut wie das SCP-Verfahren. Sie können beispielsweise mit einem FTP-Client wie FileZilla sich über SFTP auf einen beliebigen Server verbinden, der einen konfigurierten und gestarteten SSH-Server am laufen hat. Wir starten FileZilla und gehen dann auf Datei / Servermanager

2015-12-13_20h05_42

dort fügen wir einen Neuen Server hinzu und wählen als Protokoll SFTP aus. Als Port nehmt ihr den Server, unter dem euer SSH-Server läuft, normalerweise 22. Als Verbindungsart wählt ihr normal und gebt dann einen Betriebssystembenutzer ein, unter den ihr euch über SSH anmelden könnt.

2015-12-13_20h07_04

wenn Sie den Port, auf dem der SSH-Server horcht, umgestellt haben, müssen Sie diesen ebenfalls im Eingabefeld Port angeben.

Wenn Sie den SSH-Server außerdem so eingestellt haben, dass dieser public Key authentication verlangt, wird es nicht funktionieren, wenn Sie Ihren Private Key über pageant.exe laden. Stattdessen müssen Sie diese im Filezilla-Menü über bearbeiten / einstellungen / Verbindung / SFTP laden. Klicken sie dort auf schlüsseldatei hinzufügen und laden Sie den Privat Key.

2015-12-13_20h24_58

Wenn Sie damit fertig sind, müssen Sie die Verbindungseinstellungen ändern und die Verbindungsart von „normal“ auf „schlüsseldatei“ stellen. Dort können Sie dann auch das Passwort für den Private Key eingeben.

2015-12-13_20h27_31

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

1 Antwort

  1. 11. Februar 2016

    […] Liste erstellen lasse. Windows-Alternatie ist das Kommando dir. Die files.txt lade ich mir mittels SCP oder SFTP vom Linux Server auf meinen Windows-Arbeitsplatz herunter. So sieht meine files.txt derzeit […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.