3 votes

Utilisation du SSHD natif de LineageOS via ADB

J'ai fait la plus grande partie du chemin pour obtenir un sshd natif fonctionnant sur usb (principalement pour shell et winscp), mais très trouble et pas encore tout à fait là. Je veux utiliser le sshd intégré, pas télécharger une application pour lui.

Lineageos a un SSHD intégré et ADB permet la redirection de l'hôte local:XXXX vers le téléphone sur le port 22. J'ai un sshd_config prêt (mot de passe pour l'instant, RSA plus tard), et Terminal + su tout fonctionne. Par essais et erreurs, j'ai trouvé les fichiers sshd-start ou start-sshd et j'ai probablement fait une bonne partie du chemin. Mais il est difficile de reproduire une approche par essai et erreur et je n'ai pas encore réussi à le faire.

Le mieux que je puisse faire est d'exécuter ssh (client) sur le téléphone et il essaiera au moins de se connecter à lui-même (dans une autre fenêtre de terminal), mais il n'atteint pas encore complètement une invite shell. Il a donné des erreurs sur /var/run/etc et sur l'absence d'un répertoire "vide" que j'ai créé manuellement et qui semble aider mais je ne sais pas vraiment si c'est la bonne ou la meilleure façon de le faire.

En supposant que j'ai un fichier de configuration valide et une installation propre sans changement, quelles sont les étapes de base à suivre pour activer le sshd natif, le démarrer/arrêter manuellement (pas avec le système), et y accéder via adb ?

Je voudrais utiliser /sdcard/sshdata pour toutes les clés/configurations, afin qu'elles soient préservées lors de l'installation, et pour le moment, mot de passe via adb uniquement via usb (pas WiFi). Je suis heureux de modifier certains fichiers liés à sshd dans /system et j'en ai probablement besoin, mais je ne sais pas lesquels je dois modifier.

Quelle est la recette la plus simple pour que sshd soit disponible afin que je puisse le lancer et me connecter si nécessaire ?

5voto

sphakka Points 191

AFAIK avec LineageOS 14.1 (j'ai une enraciné FairPhone 2), sshd est activé par défaut et prêt à être utilisé. Son fichier de configuration est /system/etc/ssh/sshd_config qui pointe vers /data/ssh/ pour le stockage des clés. Je suppose que tu peux le reconfigurer pour utiliser /sdcard/ . Sur théorie , /data devrait être préservé à travers les mises à jour du système, bien que je n'aie pas beaucoup d'expérience pour le confirmer. Le démon doit être démarré manuellement (ce qui génère également la paire de clés du serveur ; notez que l'attribut start-ssh ne se lance pas sshd en arrière-plan, d'où le & ):

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

Alternativement, vous pouvez configurer une autre sshd comme expliqué ici .

Pour avoir sshd à chaque démarrage (je n'ai pas encore essayé), une option est d'utiliser la fonction Termux:Boot . Sachez que le fait d'avoir un démon qui tourne en permanence peut épuiser votre batterie !

En ce qui concerne l'exécution de ADB et SSH, vous dites

ADB autorise le transfert de l'hôte local:XXXX vers le téléphone sur le port 22.

Je crois comprendre que ce n'est pas correct (à moins que vous ne vouliez dire transfert d'une machine de développement vers un autre hôte auquel le téléphone est relié. ), car je ne vois pas comment adbd peut gérer les connexions cryptées. Un rapide test de reniflage avec ngrep montre que ma connexion Wi-Fi sur le port 5555 est en texte clair.

Sinon, assurez-vous (je suppose que vous le savez déjà, mais repetita iuvant ...) que sur votre téléphone

  1. Developer options sont activé
  2. Developer options -> Root access est réglé sur "ADB" ou "Apps ADB".
  3. Developer options -> ADB over network est activé

Ensuite, sur le terminal de votre ordinateur, la commande suivante devrait vous permettre de démarrer :

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

...attendez-vous à une lenteur insoutenable, non crypté connexion :-(

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X