Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:android

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)
wiki/android.txt · Zuletzt geändert: 2024/06/22 17:44 von pulsar