===== SSH mit Android===== Das Paket Termux bekommt man z.B. im F-droid Store: https://f-droid.org/de/packages/com.termux/ ==== Termux ==== Termux bringt eine Menge an Linux Kommandos mit, damit ist es eingeschrängt möglich, zumindest die Standard Komandos aus der Linux Welt auf dem Android Phone zu nutzen. Man kann ''apt'' nutzen um weitere Pakete zu installieren oder um die Termux Linux Umgebung zu aktualisieren. Mit hilfe von Termux ist es dann auch unter Android möglich, einen SSH-Server auf seinem Phone laufen zu lassen und die Datensicherung mit ''rsync'' durchzuführen, fast so als hätte man ein echtes Linux Phone :-) ==== Setup Termux ==== Nachdem Termux installiert ist, muss die Dateisystemberechtigung angepasst werden. Dies lässt sich in den Android Einstellungen erledigen oder mit dem folgenden Kommando in der Termux Konsole: termux-setup-storage zusätzlich sollten noch die gwünschten Spiegel-Server ausgewählt werden: termux-change-repo Termux System Update durchführen (damit können oft auch Probleme mit einigen Kommandos gelöst werden, bei mir ging der passwd Kommando zunächst nicht) apt update apt upgrade ==== SSH und rsync ==== Installation der benötigen Pakete apt install openssh rsync neues Passwort setzen: passwd New password: Retype new password: New password was successfully set. Starten des SSH Dienstes sshd === Fehlermeldungen === Falls die Meldung "sshd: no hostkeys available -- exiting" kommt, dann muss im /etc/ssh/ Verzeichnis noch der Host Key erstellt werden mit ssh-keygen -A Nach dem Starten der SSH-Verbindung kommt es oft vor, dass die Verbindung abbricht mit der Meldung "storage/client_loop: send disconnect: Broken pipe" Um das Abbrechen der Verbindung zu verhindern, musste ich in den Android Akku Einstellungen --> Starten von automatisch verwalten auf manuell umstellen und den Schieberegler "im Hintergrund weiter ausführen" anhaken. Der SSH-Server läuft bei Termus auf Port 8022. Um zu starten benötigt man noch seinen Nutzernamen: Der Nutzername unter Termux: $ whoami u0_a223 Die IP-Adr. vom Phone bekommt man wie folgt: $ ip -4 a | grep wlan0 | tail -1 inet 192.168.1.101/16 brd 192.168.255.255 scope global wlan0 Am besten noch den öffentlichen SSH Schlüssel unter ~/.ssh ablegen und den Schlüssel zur authorized_keys hinzufügen: cat ~/.ssh/id_sha.pub >> ~/authorized_keys Auf dem PC kann man nun den ''rsync'' Kommando nutzen um vom Phone alles was einem wichtig ist zu sichern: rsync -aue 'ssh -p 8022' --delete --delete-excluded --exclude=Android/obb/ --exclude=Android/data/ --progress u0_a151@phone1:/data/data/com.termux/files/home/storage/shared/ /srv/nfs/USBDisk/Handy/$(date +%Y%m)