Inhaltsverzeichnis
SSH mit Android
Das Paket Termux bekommt man z.B. im F-droid Store:
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)