Ich habe einen Pi ohne Heads mit SSH und Screen Sharing unter OSX und Tightvncserver unter Raspbian.
Kann ich Dateien mit ssh oder Screen Sharing (dh VNC) vom Mac auf den Pi kopieren oder muss ich Samba oder ähnliches verwenden?
Ich habe einen Pi ohne Heads mit SSH und Screen Sharing unter OSX und Tightvncserver unter Raspbian.
Kann ich Dateien mit ssh oder Screen Sharing (dh VNC) vom Mac auf den Pi kopieren oder muss ich Samba oder ähnliches verwenden?
Antworten:
In den 6 Jahren, seit ich diese Antwort gepostet habe, haben sich viele Dinge geändert.
Die Unterstützung für macOS Samba wurde verbessert und Apple verwendet jetzt Samba als Standard für die Dateifreigabe (und afp funktioniert nicht mit neueren Apple-Dateisystemen).
Debian Buster verwendet jetzt Netatalk 3 - das erhebliche Änderungen aufweist und mehr Konfiguration erfordert, um etwas Nützliches zu tun.
NFS-Unterstützung ist in den letzten Raspbian-Versionen viel besser, hat aber immer noch Probleme mit der Schreibberechtigung von macOS.Ich benutze alle ftp, Samba, afp und nfs;
Hauptsächlichftp
(Filezilla) für die routinemäßige Dateiübertragung zum / vom Pi
undSamba
zum Durchsuchen des Pi Home und der freigegebenen Dateisysteme sowie zum Loop-Mounten meiner Backup-Images zur Sicherung / Wiederherstellung.
Ich habe FTP verwendet, um mein Problem zu lösen (wie oben erwähnt), habe aber kürzlich eine andere Methode entdeckt, die andere Mac-Benutzer möglicherweise nützlich finden.
sudo apt-get install netatalk
Installiert das Appletalk-Protokoll auf dem Pi. Auf diese Weise können Sie Folgendes (an der Eingabeaufforderung des Terminals auf dem Mac) verwenden, um eine Verbindung zum Pi herzustellen
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
Sie können dann Finder (oder einen anderen FileManager, z. B. QuollEyeTree) verwenden, um Dateien mit denselben Techniken wie auf dem Mac zum oder vom Pi zu übertragen
Hinweis: Diese Bearbeitung wurde von einem anderen Benutzer vorgenommen, und AFAIK ist nicht erforderlich. Wenn der Fehler angezeigt wird. Es konnte kein Dateideskriptor für die Konsole mit dem Befehl open afp abgerufen werden. Versuchen Sie es erneut mit sudo. Stellen Sie außerdem sicher, dass auf Ihrem Mac die Remote-Anmeldung konfiguriert ist .
Wenn Sie verwenden können ssh
, scp
funktioniert höchstwahrscheinlich auch (SSH-Kopie).
Ich würde Samba trotzdem installieren, da es überall zu viele Winboxen gibt und das nächste, was Sie möglicherweise benötigen, der Zugriff von Windows ist.
scp
erfordert normalerweise nicht sudo
, sollte ohne es gut funktionieren.
scp
Von einem Mac auf ein RPi funktioniert wie erwartet und erfordert keine zusätzliche Software auf dem RPi. netatalk
funktioniert auch gut, fügt aber natürlich Software und Overhead hinzu, die möglicherweise nur gelegentlich verwendet werden.
Hast du es scp
mit der -r
Flagge versucht ? Denn ohne sie wird keine rekursive Kopie ausgeführt.
Wenn Sie die Datei oder den Ordner kopieren world2
möchten, würde ich dies folgendermaßen tun:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scp
erheblich vereinfachen, wenn Sie Ihre Hosts in definieren ~/.ssh/config
(siehe nerderati.com/2011/03/17/… ). Wenn Sie Ihren Host als konfigurieren rpi
, können Sie so etwas wie verwenden scp -r world2 rpi:/path/to/copy/of/world2/
. Nur für den Fall, dass es nicht offensichtlich ist, funktioniert es auch umgekehrt, z scp rpi:.bashrc somedir
. Wenn ein Pfad nicht absolut ist, ist er relativ zu $HOME
.
Wenn Sie viele Dateien haben, können Sie auch rsync verwenden . Sie können das -P
Flag (für --partial --progress
) verwenden, was praktisch ist, wenn Sie eine lange Übertragung mit möglichen Unterbrechungen erwarten. Auf diese Weise bleiben die teilweise übertragenen Dateien erhalten (unter normalen Umständen werden sie gelöscht) Wenn Sie die Übertragung fortsetzen, dauert es nicht so lange, bis die Übertragung abgeschlossen ist.
In Ihrem Fall könnten Sie also Folgendes tun:
rsync -avP world2/ pi@10.1.1.10:world2
(unter der Annahme , dass world2
ein Verzeichnis ist , dieser Befehl den kopieren würde Inhalt der world2
an das /world2
auf der Remote - Computer - Verzeichnis)
Wenn es sich um eine längerfristige Lösung handelt, können Sie auch Syncthing oder Bittorrent Sync auf beiden Computern installieren . Es hält Verzeichnisse auf mehreren Computern synchronisiert und kann große Dateien und Verzeichnisse verarbeiten. Es ist sehr praktisch als Dateiserver, Backup und zum Übertragen von Dateien.
Ich habe gerade von btsync zu Syncthing gewechselt. Die Synchronisierung bietet mehr Optionen und Kontrolle (und btsync verfügt über proprietären Code).
Das Debian / Ubuntu-Paket auf apt.syncthing.net hat für mich gut funktioniert und ich habe dieses Tutorial als Leitfaden verwendet
Richten Sie die SMB-Freigabe auf Ihrem Pi unter http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html ein
Gehen Sie dann auf Ihrem Mac zu Finder> go> Verbindung zum Server herstellen (cmd + k)> und geben Sie die Adresse Ihres pi ein. smb://192.Ras.Pi
Anschließend können Sie durch die Ordnerstruktur navigieren, Dateien kopieren / einfügen usw.
Verwenden Sie einfach FileZilla und legen Sie im Site-Manager im Dateimenü eine neue Site fest. Wählen Sie dann SFTP aus und geben Sie Ihren Rasp-Benutzernamen und Ihr Passwort ein.
Der einfachste Weg, den ich gefunden habe, war die Verwendung von Cyberduck.
Deaktivieren Sie die anonyme Anmeldung und stellen Sie dann eine Verbindung her.
Installieren Macfusion auf Ihrem Mac können Sie Ihr Pi über SSH, ähnlich wie montieren , wie Sie einen USB - Stick auf Ihrem Mac montieren würden. Dann können Sie den Finder verwenden, um Dateien nach Belieben in einen beliebigen Ordner auf dem Pi zu kopieren.
scp
und / odersftp
. Wenn Ihr SSH bereits funktioniert, sollten sie verfügbar sein. Es gibt auch einesshfs
, die das Mounten von Freigaben a la NFS ermöglicht.