Android: Dateisystem per SSHFS einbinden
Mit SSHFS gibt es eine einfache und sichere Möglichkeit, das Dateisystem eines entfernten Geräts per SSH ins eigene Dateisystem einzubinden. Auf dem entfernten Gerät bedarf es dafür einen SSH-Server mit SFTP-Funktion.
Auf diese Weise lässt sich bspw. auch das Dateisystem eines Android-Smartphones in das Dateisystem des eigenen Rechners einbinden. Die Dateien des Android-Geräts können dann komfortabel per Dateibrowser verwaltet werden.
Analog zum letzten Beitrag bzgl. Android mit SSH-Server verbinden verwende ich hierfür auch dieses mal wieder die Open-Source-App Termux.
Voraussetzungen & Ausgangslage
Mein Ziel war es das Dateisystem meines Android-Smartphones in das Dateisystem meines Rechners über eine SSH-Verbindung einzubinden. Auf meinem Android-Smartphone muss dafür ein SSH-Server mit aktiviertem SFTP laufen. Hierfür verwende ich die App Termux und das Termux-Paket openssh.
Auf meinem Rechner benötige ich nur SSHFS.
Für den weiteren Verlauf des Beitrags setze ich voraus, dass der Rechner das entsprechende Android-Gerät über das Netzwerk erreichen kann. Zudem solltet die Termux-App auf dem Android-Gerät installiert sein.
Android - Termux und SSH-Server einrichten
Startet Termux und stellt sicher, dass alle Pakete aktuell sind:
pkg upgradeSSH-Server installieren & einrichten
Als nächstes wird das openssh-Paket installiert:
pkg install opensshDas Paket stellt sowohl einen SSH-Client als auch Server zur Verfügung.
Standardmäßig würde der SSH-Server auf 0.0.0.0:8020 lauschen. Für meinen Anwendungsfall nehme ich eine Anpassung vor, so dass der Server auf 192.168.10.123:9090 lauscht. Die IP entspricht dabei der festen IP meines Smartphones innerhalb meines Heimnetzwerks. Außerdem soll die Anmeldung nur per Public-Key-Authentifizierung und nicht per Passwort möglich sein.
Um den SSH-Server entsprechend zu konfigurieren, ist die Konfigurationsdatei $PREFIX/etc/ssh/sshd_config anzupassen. Bei mir sieht die z.B. wie folgt aus:
ListenAddress 192.168.10.123:9090
PrintMotd yes
PasswordAuthentication no
Subsystem sftp /data/data/com.termux/files/usr/libexec/sftp-server Damit eine Anmeldung per SSH-Schlüssel/Key möglich ist, müsst ihr euren öffentlichen SSH-Key unter ~/.ssh/authorized_keys eintragen. Alternativ könnt ihr temporär die Anmeldung per Passwort erlauben und auf eurem Rechner per SSH-Befehl ssh-copy-id euren SSH-Key übertragen und danach die Passwort-Anmeldung wieder deaktivieren.
Termux - Zugriff auf Dateien erlauben
Standardmäßig hat Termux keine Berechtigung zum Zugriff auf den Android-Speicher. Ihr müsst der Termux-App somit erst die Berechtigung dafür geben. Unter Lineage 18.1 könnt ihr das in den Einstellungen unter Apps & Benachrichtigen - Erweitert - Berechtigungsmanager - Dateien und Medien einstellen. (Wahrscheinlich erhaltet ihr die Berechtigungsabfrage von Termux aber auch automatisch, wenn ihr den Befehl im nächsten Abschnitt ausführt.)
Anschließend muss in Termux noch folgender Befehl ausgeführt werden:
termux-setup-storage Ihr solltet nun unter ~/storage Zugriff auf den Speicher und somit z.B. euer Download-Verzeichnis haben.
Rechner - SSHFS installieren & einrichten
Unter Ubuntu könnt ihr SSHFS wie folgt installieren:
sudo apt install sshfs Legt nun noch ein Verzeichnis ein, unter welchem ihr später das Android-Dateisystem einbinden wollt. Bei mir ist es z.B. das Verzeichnis ~/android.
Android-Dateisystem einbinden
Startet nun auf eurem Android-Smartphone den SSH-Server mit folgendem Befehl:
sshdAuf eurem Rechner könnt ihr nun das Termux-Benutzer-Heimverzeichnis wie folgt einbinden:
sshfs -p 9090 192.168.10.123: android/ -o follow_symlinks -o idmap=user -o uid=$(id -u) -o gid=$(id -g) IP und Port müsst ihr entsprechend anpassen. Die Option zum Folgen von symbolischen Links wird benötigt, weil die Verzeichnisse in Termux unter ~/storage nur symbolische Links sind. Die anderen Parameter dienen dazu, die Benutzerrechte zwischen dem Benutzer eures Rechners und dem Android-Benutzer zu mappen.
Wenn alles geklappt hat, solltet ihr nun in eurem Dateibrowser auf die Dateien eures Android-Geräts zugreifen können:

Fazit
SSHFS in Verbindung mit Termux bietet eine einfache Möglichkeit das Dateisystem eines Android-Geräts in das eigene Dateisystem einzubinden.