cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu
đŸ˜€ Ce billet a Ă©tĂ© Ă©ditĂ© le : 2019-08-25

Prérequis

  • Cet article suppose que vous sachiez utiliser ssh.
  • Que les paquets nĂ©cessaires Ă  ssh soit installĂ© et configurĂ© sur votre PC. En particulier, que votre PC soit accessible sur le port 21 en ssh (sshd activĂ© et Firewall ouvert).

ඏ

Installation sur l'appareil Android

Important:

Ne mélangez pas les installations de Termux et des extensions entre Google Play et F-Droid. Ils sont présentés sur les deux portails pour votre confort. Il y a des problÚmes de compatibilité lors du mélange d'installations à partir de ces magasins. En effet, chaque site de téléchargement utilise une clé spécifique pour la signature de clés Termux et aux extensions.

  • Installez Termux Ă  partir de Google Play ou mieux depuis f-droid. Termux est un terminal (CLI – Console Line Interface) pour Android incluant quelques outils de base.

Suivant votre version d'Android, je vous conseille de donner les droits d’accùs au stockage de votre appareil. Cela vous permettra d’avoir accùs aux fichiers locaux de votre appareil (en utilisant par exemple /mnt/sdcard comme chemin de base)

Welcome to Termux!

Wiki:            <https://wiki.termux.com>
Community forum: <https://termux.com/community>
Gitter chat:     `https://gitter.im/termux/term` (lien cassé)
ux
IRC channel:     #termux on freenode

Working with packages:

 * Search packages:   pkg search <query>
 * Install a package: pkg install <package>
 * Upgrade packages:  pkg upgrade

Subscribing to additional repositories:

 * Root:     pkg install root-repo
 * Unstable: pkg install unstable-repo
 * X11:      pkg install x11-repo

Report issues at https://termux.com/issues

$

Ensuite depuis Termux, exécutez :

pkg install openssh

ඏ

Configuration

Assurez-vous que le PC et l’appareil Android soient sur le mĂȘme rĂ©seau local. Identifier l’adresse IP des deux machines, par exemple Ă  l’aide de :

ifconfig | grep inet # depuis termux sur Android ET depuis le Linux

Si vous avez du mal à identifier les adresses IP, vous pouvez utiliser :

ifconfig | grep inet | grep -v ' 127.0.' | grep -v ' ::1 '

Pour les exemples, nous utiliserons :

  • 192.168.1.100 l’adresse IP du PC
  • pcuser le nom d'utilisateur sur le pc
  • 192.168.1.70 l’adresse IP de l’appareil Android

Configuration cÎté Linux

Si vous n’avez pas de certificat SSH sur votre Linux, vous devez gĂ©nĂ©rer une paire de clĂ©s. Pour mĂ©moire, vous pouvez utiliser :

ssh-keygen -t rsa -b 2048 # depuis Linux

Traditionnellement, la paire de clés est stockée dans les fichiers ~/.ssh/id_rsa pour la clé privée et ~/.ssh/id_rsa.pub pour la clé publique.


Configuration cÎté Android

Vous devez ajouter la clé publique de votre Linux dans le fichier .ssh/authorized_keys de votre appareil Android.

VĂ©rifier que le fichier .ssh/authorized_keys est vide (ou qu’il n’existe pas). Ouvrez Termux :

ls -la .ssh/authorized_keys # depuis termux sur Android

S’il n’est pas vide vous devriez probablement sauvegarder ce fichier, si ce n’est pas vous l’auteur de cette modification vous devriez regarder son contenu, car cela est suspect :

cat .ssh/authorized_keys

Pour injecter la clé publique de votre PC, vous pouvez utiliser la commande suivante :

scp pcuser@192.168.1.100:~/.ssh/id_rsa.pub .ssh/authorized_keys

ou si vous souhaitez ajouter une nouvelle clé :

ssh pcuser@192.168.1.100 'cat ~/.ssh/id_rsa.pub' > .ssh/authorized_keys

ඏ

Utilisation

Depuis l’appareil Android, sous termux:

sshd -d # -d est interressant pour diagnostiquer les problĂšmes.

Depuis l’ordinateur :

ssh 192.168.1.70 -p 8022

AprÚs avoir accepté la clé, on obtient :

Environment:
  USER=u0_a123
  LOGNAME=u0_a123
  HOME=/data/data/com.termux/files/home
  PATH=/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets
  SHELL=/data/data/com.termux/files/usr/bin/login
  TERM=xterm-256color
  SSH_AUTH_SOCK=/data/data/com.termux/files/usr/tmp/ssh-XXXXXX/agent.123456
  ANDROID_ROOT=/system
  ANDROID_DATA=/data
  EXTERNAL_STORAGE=/sdcard
  LANG=en_US.UTF-8
  PREFIX=/data/data/com.termux/files/usr
  TMPDIR=/data/data/com.termux/files/usr/tmp
  SSH_CLIENT=192.168.1.100 43000 8022
  SSH_CONNECTION=192.168.1.100 43000 192.168.1.70 8022
  SSH_TTY=/dev/pts/2

Welcome to Termux!

Wiki:            https://wiki.termux.com
Community forum: https://termux.com/community
Gitter chat:     https://gitter.im/termux/termux
IRC channel:     #termux on freenode

Working with packages:

 * Search packages:   pkg search <query>
 * Install a package: pkg install <package>
 * Upgrade packages:  pkg upgrade

Subscribing to additional repositories:

 * Root:     pkg install root-repo
 * Unstable: pkg install unstable-repo
 * X11:      pkg install x11-repo

Report issues at https://termux.com/issues

$

Vous voici depuis votre PC en SSH sur votre appareil Android.


ඏ

Pour aller plus loin

Un des gros atouts de termux Ă©tait la possibilitĂ© d’envoyer des SMS (pratique pour une liste de distribution).

Cette fonctionnalitĂ© n’est plus disponible, depuis mai 2019, Ă  cause d’un changement de rĂšgles d’utilisation de Google Play.

Ce type de fonctionnalitĂ© nĂ©cessite le module complĂ©mentaire Termux API qui fournit un accĂšs en ligne de commande Ă  l’API du pĂ©riphĂ©rique :

  • Lire et envoyer des messages SMS Ă  partir de votre terminal – Plus disponible.
  • Capteur de localisation GPS de pĂ©riphĂ©rique d'accĂšs Ă  partir de scripts.
  • TransfĂ©rez le rĂ©sultat des commandes dans le moteur de synthĂšse vocale du pĂ©riphĂ©rique.
  • Vibrer l’appareil lorsque quelque chose d'intĂ©ressant se produit.
  • AccĂ©der au presse-papiers du systĂšme Ă  partir de scripts shell.
  • Liste de contacts du systĂšme.

Installation

Installez l'extension Termux API depuis f-droid ou Google Play.

Sur les versions récentes d'android, il vous faut également donner les droits à l'application.

Ensuite depuis Termux, executez:

pkg install termux-api


Les commandes supportées par Termux API

Commande Description (réponses au format JSON)
termux-battery-status Donne l’état de la batterie.
termux-brightness RĂ©glez la luminositĂ© de l’écran entre 0 et 255.
termux-call-log RĂ©pertorier l'historique du journal des appels. ** Plus disponible**
termux-camera-info Obtenir des informations sur les caméras de l'appareil.
termux-camera-photo Prenez une photo et enregistrez-la dans un fichier au format JPEG.
termux-clipboard-get RĂ©cupĂšrez le texte du presse-papier du systĂšme.
termux-clipboard-set DĂ©finissez le texte du presse-papiers du systĂšme.
termux-contact-list Liste tous les contacts.
termux-dialog Afficher une boĂźte de dialogue de saisie de texte.
termux-download TĂ©lĂ©chargez une ressource Ă  l’aide du gestionnaire de tĂ©lĂ©chargement du systĂšme.
termux-fingerprint Utilisez le dĂ©tecteur d’empreintes digitales sur le pĂ©riphĂ©rique pour vĂ©rifier l'authentification.
termux-infrared-frequencies Identifiez les fréquences porteuses prises en charge par l'émetteur infrarouge.
termux-infrared-transmit Transmettre un motif infrarouge.
termux-job-scheduler Planifiez l’exĂ©cution ultĂ©rieure ou pĂ©riodique d'un script Termux.
termux-location Obtenir l’emplacement de l’appareil.
termux-media-player Lire des fichiers multimédia.
termux-media-scan Interface MediaScanner, rendre les modifications de fichiers visibles dans la galerie Android.
termux-microphone-record Enregistrement à l’aide d’un microphone sur votre appareil.
termux-notification Afficher une notification du systĂšme.
termux-notification-remove Supprime une notification précédemment affichée avec termux-notification --id.
termux-sensor Obtenez des informations sur les types de capteurs ainsi que sur les données en direct.
termux-share Partagez un fichier spécifié comme argument ou le texte reçu sur stdin.
termux-sms-list Liste des messages SMS. ** Plus disponible**
termux-sms-send Envoyez un message SMS au(x) numéro(s) de destinataire spécifié(s). ** Plus disponible**
termux-storage-get Demander un fichier au systÚme et le générer dans le fichier spécifié.
termux-telephony-call Appeler un numéro de téléphone.
termux-telephony-cellinfo Obtenez des informations sur toutes les informations de cellule observĂ©es sur toutes les radios de l’appareil, y compris les cellules principales et voisines.
termux-telephony-deviceinfo Obtenez des informations sur le périphérique de téléphonie.
termux-toast Afficher une notification contextuelle transitoire.
termux-torch Basculer l’état la torche Ă  LED de l’appareil.
termux-tts-engines Obtenez des informations sur les moteurs de synthĂšse vocale disponibles.
termux-tts-speak Obtenez le texte sous forme vocale à l’aide de synthùse vocale du systùme.
termux-vibrate Faire vibrer l’appareil.
termux-volume Changer le volume du flux audio.
termux-wallpaper Changer le fond d'Ă©cran sur votre appareil.
termux-wifi-connectioninfo Obtenez les informations sur la connexion wifi actuelle.
termux-wifi-enable Activer / désactiver le Wi-Fi.
termux-wifi-scaninfo Obtenez les informations sur le dernier scan wifi.

ඏ

Références

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog