Copie archivos de OSX a / de Pi


13

Tengo un Pi sin cabeza usando ssh y Screen Sharing en OSX y tightvncserver en raspbian.

¿Puedo copiar archivos de Mac a / desde Pi usando ssh o Screen Sharing (es decir, VNC) o necesito usar Samba o similar?


44
Ver scpy / o sftp. Si su ssh ya funciona, deberían estar disponibles. También hay un sshfs, que permite el montaje de acciones a la NFS.
Ricitos de oro

1
scp sobre ssh funciona bien para mí. Yo mismo uso Cyberduck para la transferencia de archivos, ya que puedo arrastrar y soltar, como en el buscador.
Gerben

1
Usé sftp (usando FileZilla) que consiguió los archivos allí, por lo que la consulta ahora está cerrada. (Hubiera marcado esto como aceptado.)
Milliways

Tenga en cuenta que el cifrado ssh puede ser lento en Pi. Encontré que el pez globo era más rápido en cuanto a la CPU hace algunos años.
Thorbjørn Ravn Andersen

NFS es otra opción y tiene más sentido en el mundo Unix como es nativo.
jet

Respuestas:


18

En los 6 años desde que publiqué esta respuesta, muchas cosas han cambiado.
El soporte para macOS Samba ha mejorado y Apple ahora usa Samba como predeterminado para compartir archivos (y afp no funciona con los nuevos archivos de Apple)
Debian Buster ahora usa netatalk 3, que tiene cambios significativos y requiere más configuración para hacer algo útil.
nfs admite mucho mejor en Raspbian reciente, pero todavía tiene problemas con el permiso de escritura de macOS.

Yo uso todo de ftp, Samba, afp y nfs;
principalmente ftp(Filezilla) para la transferencia de archivos de rutina a / desde Pi
y Sambapara navegar por Pi Home y los sistemas de archivos compartidos y para montar en bucle mis imágenes de respaldo para respaldo / restauración.

Utilicé ftp para resolver mi problema (como se señaló anteriormente), pero recientemente descubrí otro método, que otros usuarios de Mac pueden encontrar útil.

sudo apt-get install netatalk

Instala el protocolo appletalk en el Pi. Esto le permite usar lo siguiente (en el indicador de terminal en la Mac) para conectarse a la Pi

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

Luego puede usar Finder (o cualquier otro FileManager, por ejemplo, QuollEyeTree) para transferir archivos hacia o desde Pi, utilizando las mismas técnicas que usaría en Mac

Nota: Esta edición es realizada por otro usuario, y AFAIK es innecesario. Si obtiene el error No se pudo obtener un descriptor de archivo que se refiera a la consola con el comando afp abierto. Intente nuevamente con sudo, también, asegúrese de tener un inicio de sesión remoto configurado en su Mac .


@Paul Fort: como lo agregaste originalmente, ¿qué es el "comando open afp"? ¿Debería "afp" ser "ftp"?
Peter Mortensen

@PeterMortensen ¿Lo has probado (o has consultado la ayuda de Mac)?
Milliways

1
Esto es asombroso ¡Quiéralo! Gracias por el consejo, no estaba al tanto de la capacidad de hacer esto.
gdgr

7

si puede usar ssh, entonces lo más probable scp(copia SSH) también funcionará.

Instalaría samba de todos modos, porque hay demasiados winboxen en todas partes y lo próximo que necesitará será el acceso desde Windows.


Intenté scp en Mac pero, aunque parecía funcionar, no aparecieron archivos (utilicé "sudo scp -v world2 //pi@10.1.1.10:" y variantes). He usado scp (en Pi) para transferir claves rsa. sftp parece la opción más fácil.
Milliways

scpgeneralmente no requiere sudo, debería funcionar bien sin él.
lenik

scpdesde una Mac a RPi funciona como se esperaba y no requiere ningún software adicional en el RPi. netatalktambién funciona bien, pero, por supuesto, agrega software y gastos generales que solo pueden usarse ocasionalmente.
bobstro 01 de

3

¿Intentaste scpcon la -rbandera? Porque sin él, no realizará una copia recursiva.

Si estuviera buscando copiar el archivo o la carpeta world2, así es como lo haría:

$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/

Excelente manejo. Rapido y Facil. Muchas gracias.
GutiérrezDev

Puede hacer que scpsea ​​mucho más fácil de usar si define sus hosts en ~/.ssh/config(consulte nerderati.com/2011/03/17/… ): si configura su host como rpi, entonces puede usar algo como scp -r world2 rpi:/path/to/copy/of/world2/. Por si acaso no es obvio, que funciona a la inversa también, por ejemplo: scp rpi:.bashrc somedir. Si una ruta no es absoluta, será relativa a $HOME.
ccpizza

3

Si tiene muchos archivos, también puede considerar usar rsync . Podrá utilizar el -Pindicador (para --partial --progress), que es útil cuando anticipa una transferencia larga con posibles interrupciones; de esa forma, los archivos parcialmente transferidos se conservarán (en circunstancias normales se eliminarán), de modo que cuando reanude la transferencia, no tardará tanto en finalizar la transferencia.

Entonces, en su caso, podría hacer:

rsync -avP world2/ pi@10.1.1.10:world2

(suponiendo que world2es un directorio, este comando sería copiar los contenidos de world2la /world2carpeta en el equipo remoto)


1

Si se trata de una solución a largo plazo, otra opción es instalar Syncthing o Bittorrent Sync en ambas máquinas. Mantiene los directorios en múltiples máquinas sincronizados y puede manejar archivos y directorios de gran tamaño. Es muy útil como servidor de archivos, copia de seguridad y para transferir archivos.

Acabo de cambiar a Sincronización desde btsync. La sincronización proporciona más opciones y control (y btsync tiene un código propietario).

Su paquete Debian / Ubuntu en apt.syncthing.net funcionó bien para mí y utilicé este tutorial como guía


1

Configure SMB sharing en su Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html

Luego, en su Mac, vaya al buscador> ir> conectarse al servidor (cmd + k)> e ingrese la dirección de su pi, smb://192.Ras.Piluego puede navegar por la estructura de carpetas, copiar / pegar archivos, etc.


¿Por qué molestarse en publicar una respuesta a una pregunta de 2 años con una respuesta aceptada? Esto ni siquiera es una buena respuesta, ya que SMB es una b. de un protocolo. Si tienes una Mac prueba la respuesta.
Milliways

¿Por qué molestarse en publicar un comentario inútil en una respuesta perfectamente buena que es diferente a cualquier otra solución provista? Hay varias formas de mover archivos de un lugar a otro, esta no requiere instalar ningún otro software en la Mac y no requiere un uso extensivo del terminal. ¿Por qué publicarlo en un hilo de N años? A) la solución sigue siendo buena, B) la pregunta sigue siendo relevante: hice una búsqueda en Google esta mañana y este es el primer resultado C) esta solución es diferente de las otras soluciones proporcionadas.
jrubins

Aludí a esto en la pregunta original "o necesito usar Samba o similar" y (implícitamente) lo excluí.
Milliways

"O necesito usar Samba o similar" no es un lenguaje excluyente. Entonces, me disculpo por darle una respuesta perfectamente buena que (en la mayoría de los casos, ya que Samba ya está instalada en muchas distribuciones RPi) es mucho más fácil que cualquiera de las otras respuestas proporcionadas. Realmente no veo por qué sientes la necesidad de discutir mi respuesta y rechazarla. El hecho de que tengas 5000 reputación en Stack Exchange no significa que no seas un imbécil.
jrubins 01 de

0

Simplemente use FileZilla y configure un nuevo sitio desde el administrador del sitio en el Menú Archivo. Luego seleccione SFTP y complete con su nombre de usuario y contraseña de Rasp y listo.


0

La forma más fácil que encontré fue usar Cyberduck.

  1. Abrir nueva conexión
  2. Seleccione SFTP del menú desplegable
  3. Servidor: ingrese la dirección IP de Pi
  4. Nombre de usuario: debe ser 'pi'
  5. Contraseña: debe ser 'frambuesa' por defecto a menos que la haya cambiado

anule la selección de inicio de sesión anónimo y luego conéctese.


0

Instalar MacFusion en tu Mac te permitirá montar tu Pi sobre SSH, de forma similar a como montarías una memoria USB en tu Mac. Luego puede usar el buscador para copiar archivos a cualquier carpeta en el Pi como desee.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.