*本文仅适用Android手机,iOS的情况见文末
要将大量手机档案整理到电脑时,如果要用档案总管像整理硬盘般的操作,那我们会将手
机接上电脑用MTP传输。
但是MTP功能有限,并且档案一多直接卡。整理相片也看不到缩图:
https://i.imgur.com/cvhRlde.png
影片点开也必须是完整下载到电脑才能预览/播放,所以MTP仅是一种传档案的手段而已,
而且还没ADB指令稳定。
如果我想要更无缝的浏览手机档案的体验呢?所以找到了SSHFS,能看缩图,档案操作像
是在用本机硬盘一般,还有批次备份档案的用法。
https://i.imgur.com/Hn31Ski.png
市面上有那么多传输档案APP组合,的确就传输档案而言,网络档案系统并无优势,甚至是
搞刚。但我想要的是方便整理档案的界面,为此选择SSHFS。
顾名思义,SSHFS是透过加密SSH连线挂载的档案系统,跟SMB、NFS、SFTP一
样都是网络档案系统,也就是将远端硬盘挂载至本机存取。SSHFS好处在于看得到缩图,传
输速度属中上(下面的例子都以区网传输为主)。
以作业系统支援度来说,Linux、Wndows、MacOS安装软件也能支援挂载SSHFS。
Android跑SSH服务器不需要Root权限。
具体作法
Linux用户要挂载SSHFS可以用指令,也可以用Gnome Nautilus或KDE Dolphin的图形化界
面挂载。
以Windows 11挂载Android手机的SSHFS来说,要让二部装置处在同一个Wifi下。
1. Android手机安装开源终端机Termux:https://reurl.cc/kqkmZb
2. 在Termux依序执行以下指令:
```
pkg update -y
# 安装OpenSSH
pkg install openssh sshfs
# 设定user密码
passwd
# 允许Termux存取手机内部储存空间
termux-setup-storage
# 执行SSH服务器
sshd
# (选择性) 每次启动Termux就自动启动SSH服务器
echo "sshd" >> ~/.profile
```
3. 以上步骤,Termux会将手机内部储存空间挂载到自己的storage目录。storage/shared
目录下就是Download、DCIM、Movies等手机内部的目录,像照片路径就是
`storage/shared/DCIM`;要存取下载的目录则是`storage/shared/Download`。
4. 点选手机的Wifi设定查看手机的区域IP,通常是以192.168开头。
https://i.imgur.com/FWrCRfE.png
5. 在Windows安装sshfs-win和SSHFS-Win Manager。
https://reurl.cc/28NXrX
https://reurl.cc/YdGLOx
6. 启动SSHFS-Win Manager,点选Add Connection
https://i.imgur.com/QHWIX6r.png
7. IP填手机IP,Port要填8022。user一律为user,Password填写Termux设定的密码。
PATH则是填写要挂载的手机目录,例如上面说过“相机”的目录为
`storage/shared/DCIM`,或者你要挂载整个手机目录的话就是`storage/shared`。
https://i.imgur.com/CEd7ycM.png
8. 点选插头的图示连线,档案总管就会以网络磁盘机挂载Android的目录,在这里可以自
由删改Android上的档案。
https://i.imgur.com/ONycR49.png
如果不用了记得回到SSHFS-Win Manager取消挂载。
其他应用
Android端跑SSH server不需要Root权限,但Android手机需要Root权限才能以SSHFS
挂载电脑上的目录。Android有EasySSHFS这个APP方便挂载SSHFS。
如果只是要单纯传档案,就用SCP指令传输目录或档案。
另外,考虑到Termux有自动执行script的能力,你可以在Temrux用Rsync走SSH通道,无线
将档案或整个目录备份到电脑上,还能设定排程任务。
详情有点复杂,烦请参阅:https://reurl.cc/gQx907
iOS能否做到SSHFS
不越狱的话,iOS有“iSH”能执行SSH服务器
https://reurl.cc/91xMO8
不过iSH的SSHFS我怎么样也连不上,也许有bug。此外因为iOS的档案管理不好用,即使
iSH的目录能用档案APP存取,要备份相机胶卷的照片也很麻烦。