Verwendung von LineageOS nativer SSHD über ADB

Ich habe den größten Teil des Weges geschafft, natives sshd über USB zum Laufen zu bringen (hauptsächlich für Shell und Winscp), aber sehr düster und noch nicht ganz so weit. Ich möchte den integrierten sshd verwenden und keine App dafür herunterladen.

Lineageos hat eine eingebaute SSHD und ADB ermöglicht die Weiterleitung vom lokalen Host: XXXX zum Telefon auf Port 22. Ich habe eine sshd_configDatei bereit (Passwort für jetzt, RSA später) und Terminal + su funktioniert alles. Durch Versuch und Irrtum habe ich die sshd-start- oder start-sshd-Dateien gefunden und bin wahrscheinlich fast fertig. Aber es ist schwer, einen Trial-and-Error-Ansatz zu reproduzieren, und ich habe es noch nicht wirklich hinbekommen.

Das weiteste, was ich habe, ist, dass ich ssh (Client) auf dem Telefon ausführen kann und es zumindest versucht, eine Verbindung zu sich selbst (in einem anderen Terminalfenster) herzustellen, aber noch nicht vollständig eine Shell-Eingabeaufforderung erreicht. Es gab Fehler bei /var/run/etc und beim Fehlen eines 'leeren' Verzeichnisses, das ich manuell erstellt habe und das zu helfen scheint, aber ich weiß nicht wirklich, ob das der richtige oder beste Weg ist, es zu tun.

Angenommen, ich habe eine gültige Konfigurationsdatei und eine Neuinstallation ohne Änderungen, was sind die grundlegenden Schritte von Anfang an, also. Ich kann natives sshd aktivieren, manuell starten/stoppen (nicht mit System gestartet) und über adb darauf zugreifen?

Ich möchte /sdcard/sshdata für alle Schlüssel/Konfigurationen verwenden, damit sie während der Installation erhalten bleiben, und im Moment nur das Passwort über adb über USB (nicht WiFi). Ich freue mich, einige sshd-bezogene Dateien in /system zu modifizieren und muss dies wahrscheinlich tun, aber ich weiß nicht, welche ich ändern muss.

Was ist das einfachste Rezept, um sshd verfügbar zu machen, damit ich es starten und bei Bedarf verbinden kann?

Antworten (1)

AFAIK mit LineageOS 14.1 (ich habe ein gerootetes FairPhone 2), sshdist standardmäßig aktiviert und einsatzbereit. Seine Konfigurationsdatei /system/etc/ssh/sshd_configverweist auf /data/ssh/die Schlüsselspeicherung. Ich denke, Sie können es für die Verwendung neu konfigurieren /sdcard/. Theoretisch sollte es über Systemupdates /datahinweg erhalten bleiben, obwohl ich nicht viel Erfahrung habe, um dies zu bestätigen. Der Daemon muss manuell gestartet werden (dies generiert auch das Schlüsselpaar des Servers; beachten Sie, dass der start-sshnicht sshdim Hintergrund gestartet wird, daher der &):

$ adb root
phone # /system/bin/start-ssh & 

sshdAlternativ können Sie auch eine andere Instanz konfigurieren , wie hier erklärt .

Um sshdbei jedem Start zu starten (ich habe es noch nicht versucht), ist eine Option die Verwendung von Termux:Boot . Beachten Sie, dass ein ständig laufender Daemon Ihre Batterie entladen kann!

Was das Ausführen von ADB und SSH betrifft, sagen Sie

ADB ermöglicht die Weiterleitung vom lokalen Host: XXXX zum Telefon an Port 22

Nach meinem Verständnis ist dies nicht korrekt (es sei denn, Sie meinen die Weiterleitung von einem Entwicklungscomputer zu einem anderen Host, an den das Telefon angebunden ist ), da ich nicht sehe, wie adbdverschlüsselte Verbindungen verarbeitet werden können. Ein schneller Sniff-Test mit ngrepzeigt, dass meine Wi-Fi-Verbindung auf Port 5555 Klartext ist.

Andernfalls vergewissern Sie sich (ich schätze, Sie wissen es bereits, aber repetita iuvant ...), dass dies auf Ihrem Telefon der Fall ist

  1. Developer optionssind aktiviert
  2. Developer options -> Root accessauf „ADB“ oder „Apps ADB“ eingestellt ist
  3. Developer options -> ADB over networkaktiviert

Dann sollten Sie auf Ihrem Computerterminal mit dem folgenden Befehl loslegen:

$ adb connect <your-android-host-name>
$ adb shell

...erwarten Sie eine quälend langsame, unverschlüsselte Verbindung :-(

To have sshd start at each boot (I still haven't tried), one option is to use Termux:BootEs gibt also keinen nativen Autostart für SSHD in Lineage?
@Suncatcher, AFAIK, nein! Dies noch
(autsch, Verbindungsabbruch) ...bei LOS17.1 immer noch so