Prérequis
- Cet article suppose que vous sachiez utiliser
ssh
. - Que les paquets nĂ©cessaires Ă
ssh
soit installé et configuré sur votrePC
. En particulier, que votrePC
soit accessible sur le port 21 enssh
(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 duPC
pcuser
le nom d'utilisateur sur lepc
192.168.1.70
lâadresse IP de lâappareilAndroid
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
- Termux sur f-droid
- Termux Home page [EN]
- Wiki Termux [EN]
- Forum communautaire [EN]
- Code source sur Github
- Gitter
- IRC: Channel #Termux on freenode
- Termux: API sur f-droid
- Wiki Termux: API [EN]
኿