Copiez des fichiers d'OSX vers / depuis Pi

13

J'ai un Pi sans tête utilisant ssh et partage d'écran sur OSX et tightvncserver sur raspbian.

Puis-je copier des fichiers du Mac vers / depuis le Pi en utilisant ssh ou le partage d'écran (c'est-à-dire VNC) ou dois-je utiliser Samba ou similaire?

Milliways
la source
4
Voir scpet / ou sftp. Si votre ssh fonctionne déjà, ils devraient être disponibles. Il y a aussi un sshfs, qui permet le montage de partages à la NFS.
goldilocks
1
scp sur ssh fonctionne très bien pour moi. J'utilise moi-même Cyberduck pour le transfert de fichiers, car je peux simplement faire glisser et déposer, comme dans le Finder.
Gerben
1
J'ai utilisé sftp (en utilisant FileZilla) qui a obtenu les fichiers là-bas, donc la requête est maintenant fermée. (J'aurais marqué cela comme accepté.)
Milliways
Notez que le chiffrement ssh peut être lent sur le Pi. J'ai trouvé que Blowfish était un fastet CPU sage il y a quelques années.
Thorbjørn Ravn Andersen
NFS est une autre option et a le plus de sens dans le monde Unix comme natif.
jet

Réponses:

18

Au cours des 6 années écoulées depuis que j'ai publié cette réponse, beaucoup de choses ont changé.
La prise en charge de macOS Samba s'est améliorée et Apple utilise maintenant Samba par défaut pour le partage de fichiers (et afp ne fonctionne pas avec les nouveaux fichiers Apple)
Debian Buster utilise maintenant netatalk 3 - qui a des changements importants et nécessite plus de configuration pour faire quoi que ce soit d'utile.
Le support nfs est bien meilleur dans le Raspbian récent, mais a toujours des problèmes avec la permission d'écriture de macOS.

J'utilise tous ftp, Samba, afp et nfs;
principalement ftp(Filezilla) pour le transfert de fichiers de routine vers / depuis le Pi
et Sambapour parcourir le Pi Home et les systèmes de fichiers partagés et pour monter en boucle mes images de sauvegarde pour la sauvegarde / restauration.

J'ai utilisé ftp pour résoudre mon problème (comme indiqué ci-dessus), mais j'ai récemment découvert une autre méthode, que d'autres utilisateurs de Mac peuvent trouver utile.

sudo apt-get install netatalk

Installe le protocole appletalk sur le Pi. Cela vous permet d'utiliser les éléments suivants (à l'invite du terminal sur le Mac) pour vous connecter au Pi

open afp://10.1.1.10  (replace this with your Raspberry Pi IP address)

Vous pouvez ensuite utiliser Finder (ou tout autre FileManager, par exemple QuollEyeTree) pour transférer des fichiers vers ou depuis le Pi, en utilisant les mêmes techniques que vous utiliseriez sur Mac

Remarque: cette modification est effectuée par un autre utilisateur et AFAIK n'est pas nécessaire Si vous obtenez l'erreur Impossible d'obtenir un descripteur de fichier faisant référence à la console avec la commande open afp, essayez à nouveau avec sudo, assurez-vous également que la connexion à distance est configurée sur votre mac .

Milliways
la source
@Paul Fort: comme vous l'avez ajouté à l'origine, qu'est-ce que "open afp command"? "Afp" devrait-il être "ftp"?
Peter Mortensen
@PeterMortensen l'avez-vous essayé (ou vérifié l'aide Mac)?
Milliways
1
C'est génial. Aimer! Merci pour le conseil, n'était pas au courant de la possibilité de le faire.
gdgr
7

si vous pouvez utiliser ssh, alors très probablement scp(copie SSH) fonctionnera également.

j'installerais samba de toute façon, car il y a trop de winboxen partout et la prochaine chose dont vous pourriez avoir besoin sera l'accès depuis Windows.

lenik
la source
J'ai essayé scp sur le Mac mais bien que cela semble fonctionner, aucun fichier n'est apparu (j'ai utilisé "sudo scp -v world2 //[email protected]:" et ses variantes). J'ai utilisé scp (sur Pi) pour transférer des clés rsa. sftp semble l'option la plus simple.
Milliways
scpne nécessite généralement pas sudo, devrait fonctionner correctement sans elle.
lenik
scpd'un Mac à RPi fonctionne comme prévu et ne nécessite aucun logiciel supplémentaire sur le RPi. netatalkfonctionne bien aussi, mais bien sûr, ajoute des logiciels et des frais généraux qui ne peuvent être utilisés qu'occasionnellement.
bobstro
3

Avez-vous essayé scpavec le -rdrapeau? Parce que sans lui, il n'effectuera pas de copie récursive.

Si vous cherchiez à copier le fichier ou le dossier world2, voici comment je le ferais:

$ scp -rv world2 [email protected]:/path/to/copy/of/world2/
3cheesewheel
la source
Excellente commande. Rapide et facile. Merci beaucoup.
GutierrezDev
Vous pouvez rendre l'utilisation scpbeaucoup plus facile si vous définissez vos hôtes dans ~/.ssh/config(voir nerderati.com/2011/03/17/… ) - si vous configurez votre hôte comme rpi, alors vous pouvez utiliser quelque chose comme scp -r world2 rpi:/path/to/copy/of/world2/. Juste au cas où il est pas évident, cela fonctionne dans l'autre sens, par exemple: scp rpi:.bashrc somedir. Si un chemin n'est pas absolu, il sera relatif à $HOME.
ccpizza
3

Si vous avez beaucoup de fichiers, vous pouvez également envisager d'utiliser rsync . Vous seriez en mesure d'utiliser l' -Pindicateur (pour --partial --progress), ce qui est pratique lorsque vous prévoyez un long transfert avec des interruptions potentielles - de cette façon, les fichiers partiellement transférés seront conservés (dans des circonstances normales, ils sont supprimés), de sorte que lorsque vous reprenez le transfert, il ne faudra pas autant de temps pour terminer le transfert.

Donc, dans votre cas, vous pourriez faire:

rsync -avP world2/ [email protected]:world2

(en supposant qu'il world2s'agit d'un répertoire, cette commande copiera le contenu de world2dans le /world2répertoire de la machine distante)

3cheesewheel
la source
1

S'il s'agit d'une solution à plus long terme, une autre option consiste à installer Syncthing ou Bittorrent Sync sur les deux machines. Il garde les répertoires sur plusieurs machines synchronisés et peut gérer de gros fichiers et répertoires. Il est très pratique en tant que serveur de fichiers, sauvegarde et transfert de fichiers.

Je viens de passer à Syncthing de btsync. Syncthing offre plus d'options et de contrôle (et btsync a un code propriétaire).

Leur paquet Debian / Ubuntu sur apt.syncthing.net a bien fonctionné pour moi et j'ai utilisé ce tutoriel comme guide

SteveLambert
la source
1

Configurez le partage SMB sur votre Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html

Ensuite, sur votre Mac, allez dans Finder> allez> se connecter au serveur (cmd + k)> et entrez l'adresse de votre pi smb://192.Ras.Pipuis vous pouvez naviguer dans la structure des dossiers, copier / coller des fichiers, etc.

jrubins
la source
Pourquoi prendre la peine de poster une réponse à une question de 2 ans avec une réponse acceptée. Ce n'est même pas une bonne réponse, car SMB est un b. d'un protocole. Si vous avez un Mac, essayez la réponse.
Milliways
Pourquoi prendre la peine de poster un commentaire inutile à une réponse parfaitement bonne qui est différente de toutes les autres solutions fournies? Il existe plusieurs façons de déplacer des fichiers d'un endroit à un autre, celui-ci ne nécessite l'installation d'aucun autre logiciel sur le mac et ne nécessite pas une utilisation intensive du terminal. Pourquoi l'afficher sur un fil de N ans? A) la solution est toujours bonne, B) la question est toujours d'actualité - j'ai fait une recherche sur google ce matin et c'est le premier résultat C) cette solution est différente des autres solutions proposées.
jrubins
J'avais fait allusion à cela dans la question d'origine "ou dois-je utiliser Samba ou similaire" et (implicitement) je l'ai exclu.
Milliways
"Ou dois-je utiliser Samba ou similaire" n'est pas un langage d'exclusion. Donc, je m'excuse de vous avoir donné une très bonne réponse qui (dans la plupart des cas, puisque Samba est déjà installé sur de nombreuses distributions RPi) est beaucoup plus facile que toutes les autres réponses fournies. Je ne vois vraiment pas pourquoi vous ressentez le besoin de contester ma réponse et de la rejeter. Ce n'est pas parce que vous avez 5000 points de réputation sur Stack Exchange que vous n'êtes pas un trou du cul.
jrubins
0

Utilisez simplement FileZilla et définissez un nouveau site à partir du gestionnaire de sites dans le menu Fichier. Ensuite, sélectionnez SFTP et remplissez avec votre nom d'utilisateur et mot de passe Rasp et vous êtes prêt à partir.

Marco Almeida
la source
0

La manière la plus simple que j'ai trouvée était d'utiliser Cyberduck.

  1. Ouvrir une nouvelle connexion
  2. Sélectionnez SFTP dans le menu déroulant
  3. Serveur: mettez l'adresse IP du Pi
  4. Nom d'utilisateur: devrait être «pi»
  5. Mot de passe: devrait être 'framboise' par défaut sauf si vous l'avez modifié

désélectionnez la connexion anonyme, puis connectez-vous.

saqehi
la source
0

L'installation de MacFusion sur votre Mac vous permettra de monter votre Pi sur SSH, de la même manière que vous monteriez une clé USB sur votre Mac. Ensuite, vous pouvez utiliser le Finder pour copier les fichiers dans n'importe quel dossier du Pi à votre guise.

Lukas Vermeer
la source