Dateiaustausch zwischen einem »gewöhnlichen« Computer und dem Raspberry Pi

Immer wieder taucht die Frage auf, wie Dateien zwischen einem Notebook oder Desktop-Rechner und einem Raspberry Pi übertragen werden können (in beide Richtungen). Diese Text fasst einige Arbeitstechniken zusammen.

Die Holzhammer-Methode: ein USB-Stick

Die für Einsteiger einfachste Lösung besteht darin, eines USB-Stick mit einem VFAT-Dateisystem (»Windows-95-Dateisystem«) zu verwenden. Die Vorgehensweise ist unkompliziert, aber mit dem ständigen Anstecken und Lösen des USB-Sticks ein wenig umständlich.

scp-Kommando

Mein persönlicher Favorit ist das Kommando scp. Sein Name steht für secury copy. Intern basiert das Kommando auf SSH (secure shell). Damit Sie Kommando nutzen können, müssen drei Voraussetzungen erfüllt sein:

  • Ihr Rechner und der Raspberry Pi müssen über ein Netzwerk verbunden sein, sich also z.B. im gleichen LAN/WLAN befinden.

  • Auf dem Raspberry Pi muss der SSH-Server laufen. Dieses Programm ist in Raspbian zwar installiert, es ist aber standardmäßig nicht aktiv. Abhilfe: Sie starten auf dem Rasbperry Pi das Programm Einstellungen / Raspberry Pi Konfiguration, öffnen das Dialogblatt Schnittstellen und aktivieren die Option SSH. Wichtig: Stellen Sie unbedingt für den Benutzer pi ein eigenes Passwort ein! Solange das Defaultpasswort raspberry gilt, stellt der SSH-Server ein großes Sicherheitsrisiko dar!

  • Auf Ihrem Notebook oder Desktop-Rechner muss das Kommando scp zur Verfügung stehen. Unter Linux und macOS ist das immer der Fall. Unter Windows 10 öffnen Sie in den Einstellungen das Dialogblatt Apps & Features, klicken auf den unscheinbaren Link Optionale Features verwalten und dann auf Feature hinzufügen, wählen den Eintrag OpenSSH-Client aus und installieren das Programm.

Sind diese Voraussetzungen erfüllt, können Sie auf Ihrem Notebook oder PC in einem Terminal bzw. unter Windows in der Eingabeaufforderung (cmd.exe) das Kommando scp verwenden. Die Syntax sieht wie folgt aus:

scp lokale-datei pi@pi3:
scp lokale-datei pi@pi3:verzeichnis/neuer-name
scp pi@pi3:externe-datei .
scp pi@pi3:externe-datei verzeichnis/neuer-name

Dabei müssen Sie pi3 durch den Hostnamen Ihres Raspberry Pi ersetzen.

  • Das erste Kommando kopiert eine lokale Datei von Ihrem Notebook/PC in das Heimatverzeichnis des Benutzers pi auf Ihrem Raspberry Pi. Bei der Ausführung des Kommandos müssen Sie das Passwort des Benutzers pi angeben.

  • Das zweite Kommando funktioniert analog, allerdings bekommt die Datei beim Kopieren einen neuen Namen und wird im angegebenen Verzeichnis gespeichert.

  • Das dritte Kommando überträgt eine Datei, die sich im Heimatverzeichnis des Benutzers pi auf dem Raspberry Pi befindet, in das gerade aktuelle Verzeichnis auf Ihrem Notebook/PC. (Das Zeichen ».« gilt als Kurzschreibweise für dieses Verzeichnis.)

  • Das vierte Kommando hat im Prinzip dieselbe Wirkung, allerdings wird die Datei auf Ihrem Notebook/PC im angegebenen Verzeichnis und unter einem neuen Namen gespeichert.

Netzwerkzugriff auf das Dateisystem des Raspberry Pi (SFTP-Client)

scp funktioniert für einzelne Dateien zwar wunderbar, aber die Syntax ist gewöhnungsbedürftig. Vielleicht würden Sie lieber in einem Dateimanager arbeiten. Je nachdem, welches Betriebssystem auf Ihrem Notebook/PC läuft, ist auch das möglich. Die Grundvoraussetzung ist wiederum, dass Ihr Raspberry Pi im lokalen Netzwerk erreichbar ist und dass dort der SSH-Server läuft. Der Dateiaustausch erfolgt über das von SSH unterstützte Protokoll SFTP (das mit dem herkömmlichen Protokoll FTP sonst aber wenig zu tun hat und insbesondere viel sicherer ist).

Linux-Notebook/PC: Am einfachsten ist es, wenn auf Ihrem Notebook/PC Linux läuft. Der unter Linux übliche Dateimanager Nautilus (aber auch dessen KDE-Alternative Dolphin) unterstützt das SSH-Protokoll nämlich nativ. Im Dateimanager drücken Sie Strg+L und geben dann die Adresse sftp://pi@pi3 ein, wobei Sie pi3 wieder durch den Hostnamen Ihres Raspberry Pis ersetzen. Sie werden nach dem Passwort gefragt. Danach zeigt der Dateimanager das Dateisystem des Raspberry Pi an und Sie können die Dateien per Drag&Drop verschieben!

Der Dateimanager läuft auf einem Notebook unter Ubuntu, zeigt aber die Dateien eines Raspberry Pis.

Windows-Notebook/PC: Auch unter Windows ist ein Zugriff auf das Raspberry-Pi-Dateisystem direkt über den Dateimanager möglich, sofern Sie vorher das kostenlose (aber leider nicht mehr gewartete) Programm Swish installieren:

https://sourceforge.net/projects/swish

Nach der Installation navigieren Sie im Windows Explorer in das Verzeichnis Computer / Swish und richten dort eine neue Verbindung ein. Im Verzeichnis Computer / Swish erscheint nun ein neues Icon. Mit einem Doppelklick können Sie nun die Verbindung zum Raspberry Pi herstellen, wobei Sie beim ersten Mal den SSH-Schlüssel akzeptieren und jedes Mal das Passwort für den Benutzer pi angeben müssen.

Das Programm »Swish« ermöglicht es, SFTP-Verbindungen auch unter Windows einzurichten.

Eine mögliche Alternative zu Swish ist das Programm WinSCP: Dabei handelt es sich um einen einfach zu bedienenden Dateimanager mit SFTP-Unterstützung.

https://winscp.net/eng/download.php

WinSCP ist ein kostenloser Dateimanager mit integriertem SFTP-Client

Apple-Rechner: Der Finder von macOS bietet leider keine vergleichbaren Erweiterungsmöglichkeiten. Sie können aber stattdessen einen SFTP-Client verwenden, z.B. die Programm FileZilla oder CyberDuck.

Netzwerkzugriff über SMB

Eine weitere Möglichkeit besteht darin, dass Sie auf Ihrem Notebook/PC ein Windows-Netzwerkverzeichnis einrichten. (Das zugrundeliegende Protokoll SMB wird auch von macOS und Linux unterstützt.) Diese Aufgabe kann natürlich auch ein NAS-Gerät im lokalen Netzwerk übernehmen. Nun geht es »nur« noch darum, dass Sie im Pixel-Desktop des Raspberry Pi auf dieses Verzeichnis zugreifen können. Leider gibt es für diesen Zweck kein Programm mit einer grafischen Oberfläche. Stattdessen müssen Sie das Netzwerkverzeichnis in einem Terminal des Raspberry Pi auf Kommandoebene einbinden (siehe z.B. stackexchange.com oder den Abschnitt Netzwerkverzeichnisse nutzen in unserem Raspberry-Pi-Buch).

Auch der umgekehrte Weg ist möglich: Sie installieren auf Ihrem Raspberry Pi das Programm Samba und richten dann ein Verzeichnis des Raspberry Pi als Netzwerkverzeichnis ein (siehe z.B. linuxconfig.org bzw. den Abschnitt Netzwerkverzeichnis anbieten in unserem Raspberry-Pi-Buch).

Beide Varianten sind allerdings deutlich komplizierter als die Verwendung von SSH bzw. des scp-Kommandos. Insofern sind diese Vorgehensweisen eher für fortgeschritte Pi-Anwender interessant.

3 Gedanken zu „Dateiaustausch zwischen einem »gewöhnlichen« Computer und dem Raspberry Pi“

  1. Hallo, bin in Ihrem Buch jetzt auf Seite 137 angekommen und versuche eine SSH-Verbindung zwischen meinem MacBook und dem Raspberry 3 B+ herzustellen.

    Ich habe das Original-PW im Raspberry geändert aber jedesmal wenn ich es im Mac-Terminal eingebe bekomme ich „Permission denied, please try again.“

    Woran kann das liegen?

    PS: Bin totaler Neuling was Linux et al anbetrifft…

    Vielen Dank.

  2. Läuft der SSH-Server überhaupt? In Raspbian muss im Programm Einstellungen / Raspberry-Pi-Konfiguration im Dialogblatt Schnittstellen die Option SSH aktiviert sein. Kontrolle im Terminal:

    sudo systemctl status ssh
    
  3. Ein Bekannter setzt SFTP und SMB auf dem Raspi ein. Somit kann er auch von Android aus auf den Fileserver zugreifen. Für das IT-Alerting ist das sehr nütztlich, wenn man via VPN die Logfiles ohne Extrasoftware auslesen kann.

Kommentare sind geschlossen.