[心得] 手機無線傳照片檔案到電腦 ~ 使用SSHFS

作者: ivon852 (ASUS)   2022-12-17 03:51:02
*本文僅適用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存取,要備份相機膠卷的照片也很麻煩。
作者: LastAttack (與我無關~~)   2022-12-17 07:24:00
原來各家連接電腦的軟體,傳照片就是用這技術?功能特徵基本上一樣,可預覽、可輕鬆拖曳到想要的地方
作者: johnhmj (耗呆肥羊)   2022-12-17 10:32:00
怎麼不直接用AirDroid ??
作者: fiiox3 (飆速宅男)   2022-12-17 11:12:00
有不需要區網的方案嗎
作者: BadGame (人生 歡樂易忘卻執著痛苦)   2022-12-17 11:49:00
作者: ch410773 (Lolita)   2022-12-17 12:06:00
Solid explorer一鍵開好ftp,不過看不了縮圖
作者: tomsawyer (安安)   2022-12-17 12:11:00
當然有不須要區網的方案 比如樓上提到的airdroid 但檔案就要預設經過他們的relay做中轉作業系統支援度來說=0 全不支援原生掛載 不如ftp來的方便 windows可用 linux也可以直接掛不如用sftp就好了 又不用而外裝東西不然rclone+fuse/winfsp是萬解
作者: Leo123457   2022-12-17 14:02:00
https://i.imgur.com/Ojm7BUf.png 縮圖可以從這開
作者: tcchu (tcchu)   2022-12-17 18:42:00
的確是很搞剛不然直接adb pull或app開ftp比較實際沒有掛載需求平常直接app存取PC sftp就好我是為了retroarch檔案同步 pc定時跑一次adb-sync
作者: Leo123457   2022-12-17 21:44:00
https://i.imgur.com/OBM2gIH.png或許skip previews for remote files above要調大一點
作者: x21999125x (佴弌)   2022-12-21 09:46:00
不用區網的方案我推薦syncthing缺點的話就是如果不改設定讓syncthing常駐很耗電,但這很容易改掉
作者: carbeso (←這念作卡比獸)   2022-12-21 15:33:00
syncthing ++

Links booklink

Contact Us: admin [ a t ] ucptt.com