Eine SSH-Verbindung von Linux zu Android einrichten

Um sich von einem Linux-PC zu einem Android-Gerät via SSH zu verbinden, müssen die beiden Geräte im gleichen Netzwerk (z.B. dem Heimnetz) sein. In diesem Beitrag nehmen wir an, dass das gemeinsame Netz den IPv4-Adressbereich 192.168.0.0/16 hat. Einige Nutzerinnen und Nutzer wissen diese Anleitung sicherlich auch mit dem IPv6-Bereich fe80:: zu bewältigen ;-)

Zunächst sollte man ein ein langes und zufälliges Passwort für den Android-Benutzer generieren (Tipp: KeePassXC verwenden). Dieses Passwort sendet man anschließend zur späteren Verwendung (z.B. via Messenger) an das Android-Gerät. Um die Anmeldung am SSH-Server mit einem sicherem SSH-Schlüssel (statt Passwort) zu ermöglichen, benötigt das Linux-PC-Benutzerkonto ein SSH-Schlüsselpaar. Falls noch kein SSH-Schlüsselpaar vorhanden ist, kann es z.B. mit folgendem Kommando erzeugt werden:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

Auf dem Android-Gerät installiert man zunächst die App „Termux“ aus F-Droid oder dem Google Play Store. Anschließend sollte Termux gestartet und wie folgt eingerichtet werden:

Den Benutzernamen in Termux ermitteln:

whoami

Hinweis: Der Benutzername kann z.B. u0_a123 lauten und wird in diesem Beitrag nachfolgend als ANDROID_USER bezeichnet.

Die lokale IPv4-Adresse des Android-Geräts ermittelt man mit folgender Kommandozeile:

ip a | grep --only-matching 192.168.* | cut --delimiter "/" --field 1

Hinweis: Die lokale IPv4-Adresse wird in diesem Beitrag nachfolgend als ANDROID_IPv4 bezeichnet

Jetzt kann das zuvor generierte Passwort (s.o.) gesetzt werden:

passwd

Abschließend wird der SSH-Server installiert und gestartet:

apt install --yes openssh-server && sshd

Um vom Benutzerkonto des Linux-PCs den öffentlichen SSH-Schlüssel an das Android-Gerät zu übertragen, kann folgende Kommandozeile verwendet werden:

ssh-copy-id -p 8022 ANDROID_USER@ANDROID_IPv4

Wenn bis hierhin alles geklappt hat, sollte zunächst nach Aufforderung das Passwort des Android-Benutzerkontos eingefügt werden und anschließend die erfolgreiche Übertragung des öffentlichen SSH-Schlüssel bestätigt werden.

Jetzt kann man sich mit folgendem Kommando zum Android-Gerät verbinden:

ssh -p 8022 ANDROID_USER@ANDROID_IPv4

Man kann sich auf dem Linux-PC den SSH-Zugang durch einen Eintrag in der Datei ~/.ssh.config erleichtern. Hierzu ein Beispiel:

cat <<EOF >> ~/.ssh/config
### Android-Gerät
Host android
Port 8022
User ANDROID_USER
Hostname ANDROID_IPv4
IdentityFile ~/.ssh/id_ed25519
EOF

Hat man dies so eingerichtet, reicht zur Anmeldung das einfache Kommando:

ssh android

Zur Sicherheit sollte die Passwortanmeldung deaktiviert werden; die Authentifizierung erfolgt dann ausschließlich durch SSH-Schlüssel.

Zuvor sollte man eine Sicherheitskopie der bestehenden Konfiguration erstellen:

cp $PREFIX/etc/ssh/sshd_config $PREFIX/etc/ssh/sshd_config_$(date +%F_%R).bak

Anschließend kann die Passwortanmeldung deaktiviert werden:

sed --in-place '/PasswordAuthentication yes/s/PasswordAuthentication yes/PasswordAuthentication no/g' $PREFIX/etc/ssh/sshd_config

Das war's! Noch ein Hinweis: Der Verbindungsaufbau ist nur bei entsperrtem Display möglich - danach bleibt die Verbindung jedoch auch bei gesperrtem Display bestehen.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • eine_ssh-verbindung_von_linux_zu_android_einrichten.txt
  • Zuletzt geändert: 25.05.2020
  • von Till Neuhaus