我可以使用ssh或Screen Sharing(即VNC)将Mac上的文件从Mac复制到Pi上吗?需要使用Samba或类似产品吗?
#1 楼
自从我发布此答案以来的6年中,许多事情发生了变化。
macOS Samba支持得到了改善,Apple现在将Samba作为默认的文件共享方式(并且afp不适用于更新的Apple文件系统)
Debian Buster现在使用netatalk 3-进行了重大更改,并且需要更多配置才能执行任何有用的操作。
nfs在最近的Raspbian中的支持要好得多,但仍然存在来自macOS的写许可权的问题。 />
我使用ftp,Samba,afp和nfs的所有文件;
主要使用
ftp
(Filezilla)进行与Pi之间的常规文件传输和
Samba
浏览Pi Home和共享文件系统,并循环挂载我的备份映像以进行备份/还原。我使用ftp解决了我的问题(如上所述),但是最近发现了另一种方法,其他Mac用户可能会觉得有用。
sudo apt-get install netatalk
在Pi上安装appletalk协议。
这使您可以使用接着(在Mac上的终端提示下)连接到Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
然后,您可以使用Finder(或任何其他FileManager,例如QuollEyeTree),以使用在Mac上使用的相同技术将文件传输到Pi或从Pi传输文件。
注意:此编辑是由另一个用户进行的,并且不需要AFAIK如果出现错误,则无法使用open afp命令获取指向控制台的文件描述符,并再次使用sudo进行尝试,并确保在Mac上配置了远程登录。
评论
@Paul Fort:当您最初添加它时,“ open afp command”是什么? “ afp”应该是“ ftp”吗?
– Peter Mortensen
2014年7月27日12:10
@PeterMortensen您是否尝试过(或检查了Mac帮助)?
–地铁
2014年7月27日13:41
这太棒了。爱它!感谢您的提示,不知道这样做的能力。
– gdgr
2015年12月9日23:39
#2 楼
如果您可以使用ssh
,那么scp
(SSH副本)也可能会正常工作。我还是会安装samba,因为到处都有太多的winboxen,接下来您可能需要的是从Windows访问。
评论
我在Mac上尝试了scp,但是虽然它似乎可以正常工作,但没有文件出现(我使用了“ sudo scp -v world2 //pi@10.1.1.10:”和其他变体)。我已经使用scp(在Pi上)来传输rsa密钥。 sftp似乎是最简单的选择。
–地铁
13年8月12日在0:44
scp通常不需要sudo,没有它应该可以正常工作。
– lenik
13年8月12日在2:07
从Mac到RPi的scp可以按预期工作,并且在RPi上不需要任何其他软件。 netatalk也可以很好地工作,但是当然会增加偶尔使用的软件和开销。
– bobstro
2015年10月1日,12:05
#3 楼
您是否尝试使用带有scp
标志的-r
?因为没有它,它将不会执行递归复制。 如果您要复制文件或文件夹
world2
,这就是我要这样做的方法:$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
评论
优秀的指挥。快捷方便。非常感谢你。
– GutierrezDev
16年6月25日在23:28
如果在〜/ .ssh / config中定义主机,则可以使scp的使用更加容易(请参阅nerderati.com/2011/03/17/…)—如果将主机配置为rpi,则可以使用诸如scp之类的东西-r world2 rpi:/ path / to / copy / of / world2 /。以防万一它不明显,它也可以以其他方式工作,例如:scp rpi:.bashrc somedir。如果路径不是绝对路径,则它将相对于$ HOME。
–ccpizza
17年11月11日14:16
#4 楼
如果您有很多文件,则还可以考虑使用rsync。您可以使用-P
标志(对于--partial --progress
),该标志在您预期可能会有长时中断的长时间传输时非常方便-这样,将保留部分传输的文件(在正常情况下,它们会被删除),这样,当您恢复传输时,将不需要很长时间即可完成传输。 因此,您可以执行以下操作:
rsync -avP world2/ pi@10.1.1.10:world2
(假设
world2
是目录,此命令会将world2
的内容复制到远程计算机上的/world2
目录)#5 楼
我找到的最简单的方法是使用Cyberduck。打开新连接
从下拉菜单中选择SFTP
服务器:放置Pi的IP地址
用户名:应为“ pi”
密码:默认情况下应为“ raspberry”,除非您对其进行了更改
取消选择匿名登录并进行连接。
#6 楼
如果是较长期的解决方案,另一个选择是在两台计算机上安装Syncthing或Bittorrent Sync。它使多台计算机上的目录保持同步,并可以处理大型文件和目录。作为文件服务器,备份和传输文件非常方便。我刚刚从btsync切换到Syncthing。 Syncthing提供了更多选项和控制权(而btsync具有专有代码)。
apt.syncthing.net上的Debian / Ubuntu软件包对我来说很好用,我以此教程为指南
#7 楼
在您的Pi上设置SMB共享,http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html
然后,在Mac上,转到finder>转到>连接到服务器(cmd + k)>并输入pi
smb://192.Ras.Pi
的地址,然后可以导航文件夹结构,复制/粘贴文件等。评论
为什么还要为一个2岁的问题发布答案并接受答案呢?这甚至不是一个好的答案,因为SMB是b。协议。如果您使用Mac,请尝试答案。
–地铁
2015年9月30日23:38在
为什么要烦恼地将无益的评论发布到一个完美的答案上,这与提供的其他所有解决方案都不一样?有多种方法可以将文件从一个位置移动到另一个位置,这种方法不需要在Mac上安装任何其他软件,也不需要大量使用终端。为什么将其发布在N岁的线程上? A)解决方案仍然不错,B)问题仍然相关-我今天早上做了一个google搜索,这是第一个结果C)该解决方案与提供的其他解决方案不同。
– jrubins
2015年10月1日,下午4:20
我曾在最初的问题中提到过“或者我是否需要使用Samba或类似的东西”,并且(隐式)将其排除在外。
–地铁
2015年10月1日在5:12
“或者我需要使用Samba或类似语言”不是排他性语言。因此,对于给您一个完美的答案(在大多数情况下,因为Samba已安装在许多RPi发行版上),我感到很抱歉,它比提供的任何其他答案都容易得多。我真的不明白为什么您会觉得需要对我的答案进行辩论并否决它。仅仅因为您在Stack Exchange上享有5000声誉,并不意味着您就不是一个傻瓜。
– jrubins
2015年10月1日,16:19
评论
请参阅scp和/或sftp。如果您的ssh已经有效,则它们应该可用。还有一个sshfs,它允许挂载la NFS共享。在SSH上的SCP对我来说很好。我自己使用Cyberduck进行文件传输,因为我可以像在finder中一样拖放。
我使用sftp(使用FileZilla)将文件保存到那里,因此现在关闭查询。 (我会将此标记为接受)。
请注意,在Pi上,ssh加密速度可能较慢。几年前,我发现河豚成为CPU的明智之选。
NFS是另一种选择,它在Unix世界中像本机一样是最有意义的。