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:
SSH-Server installieren & einrichten
Als nächstes wird das openssh
-Paket installiert:
Das 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:
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:
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:
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:
Auf eurem Rechner könnt ihr nun das Termux-Benutzer-Heimverzeichnis wie folgt einbinden:
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.