Autres distribs Linux

Android : Installer un serveur SSH (NO ROOT) et transférer des fichiers

Table des matières

Introduction



Dans cet article, nous allons voir comment installer un serveur SSH sur son téléphone Android.

Cela nous permettra de se connecter sur le téléphone/tablette à distance, et par extension SFTP, RSYNC pour transférer des fichiers.

Dans mon cas, je cherchais cette possibilité pour transférer des photos, musiques depuis/vers mon PC équipé de Gentoo, avec une méthode BEAUCOUP PLUS RAPIDE que le transfert via USB qui est lent (même avec de l'USB 3.0) avec MTP (protocole de transferts de fichiers entre PC et Android via USB).

Télécharger le serveur SSH



Dans un premier temps, on va avoir besoin d'un logiciel sur le téléphone. Il s'appelle SSHelper.
L'adresse de l'application est la suivante : https://play.google.com/store/apps/details?id=com.arachnoid.sshelper&hl=fr&gl=LT

Evidemment, il existe probablement d'autres applications dans le même genre, mais celle si fonctionne et nul besoin d'un téléphone rooté !

Paramétrer SSHelper



Pour accéder à votre téléphone, ne soyez pas en
Dans un premier temps, lancer l'application.


Dans les options de configuration, notez que :
- Vous avez le nom de votre périphérique (ici Couinnnnn)
- Vous avez votre adresse IP (Votre téléphone et PC doivent être sur le même réseau local)
- Le port d'écoute est le port 2222 (et non 22 comme SSH le fait par défaut)
- L'utilisateur pour se connecter est admin
- Le mot de passe pour se connecter est admin (personnalisable)
- Activez (encadré en turquoise) Enable File Writing pour pouvoir écrire des fichiers




Vérifiez que le serveur est en fonctionnement avec la mention "Server" en vert en haut
Pour relancer le serveur SSH, cliquez sur les doubles flèches en haut à droite (encadré en jaune)


sshelper_conf


Paramétrer les autorisations Android de l'application :


N'oubliez pas de paramétrer les pleins droits à l'application au niveau des permissions sur le système de fichier d'Android.


Pour cela, appuyez longtemps sur le logo de l'application, puis allez sur Informations sur l'application.


Allez sur Autorisations de l'application


Puis vérifiez que Fichiers et contenus multimédiés soit bien sur Tous les fichiers


sshelper_autorisations


Accéder au téléphone



Dans mon cas, l'adresse IP du téléphone est 192.168.21.102.

J'ouvre un simple terminal, et je me connecte en tant qu'utilisateur admin en SSH :

sshelper_depuislepc



Et voilà, je suis connecté sur le téléphone.

Il existe un lien symbolique SDCard qui pointe sur votre stockage de téléphone.

Utiliser le terminal une fois connecté



Une fois connecté, on est sur un terminal Linux classique.
On peut donc utiliser toutes les commandes disponibles, comme rsync.

Voici un exemple : Depuis le terminal, je récupère mes musiques situées sur mon PC avec la commande rsync que j'ai sur le téléphone nativement :

sshelper_rsync



Pour information, voici les stats :

Code :
sent 7.71K bytes  received 9.31G bytes  59.11M bytes/sec
total size is 9.31G  speedup is 1.00


Les 9.3Go ont été récupérés sur la mémoire interne du téléphone en 2 minutes 36 à une vitesse de 59Mo/s !

Accès en SFTP



Evidemment, vous pouvez accéder en SFTP avec n'importe quel outil le supportant !

Utilisant le gestionnalre de fichiers Nautilus, il me sufit de saisir ceci dans ma barre d'adresse (toujours avec l'IP 192.168.21.102) :

Code :
sftp://[email protected]:2222/data/data/com.arachnoid.sshelper/files/home/


Et je suis connecté sur le téléphone. Je peux me ballader dans l'arborescence et récupérer les fichiers souhaités en graphique !

sshelper_sftp_nautilus




Quitter le serveur SSH



Une fois que vous avez terminé, coupez le serveur SSH depuis l'application pour éviter que le service tourne sur le téléphone :)

Pour cela via les 3 petits points en haut à gauche, développez le menu et sélectionnez "Stop Server and Quit" :

sshelper_quitter

Cette page a été vue 2984 fois