6 votes

Envoyer des fichiers de Linux à Android via ssh

Je veux envoyer des fichiers spécifiques de mon PC Linux à mon appareil Android. J'aimerais l'envoyer automatiquement en utilisant des commandes de terminal, donc il n'y aura pas de glisser-déposer de fichiers.

Je ne sais pas quel est le meilleur moyen de communication pour envoyer des fichiers via wifi. Je comprends comment envoyer en utilisant ftp en téléchargeant l'application 'serveur ftp' sur mon appareil Android, mais ce n'est pas adapté à mon travail car cela nécessite d'ouvrir un navigateur Internet sur mon PC et de transférer comme un gestionnaire de fichiers. J'ai donc essayé d'utiliser ssh:

scp /home/user/picture1.jpg u0_a167@192.168.1.117:/storage/emulated/0

mais j'ai toujours eu une erreur :

ssh: connect to host 192.168.1.117 port 22: Connection refused
lost connection

Comment résoudre ce problème? ou est-ce que quelqu'un a une autre recommandation sur le moyen de communication que je devrais utiliser?

0 votes

2voto

Milner Points 533

Vous avez différentes options ici :

  • SCP : Comme Dan l'a déjà souligné, Android n'est livré avec aucun serveur SSH par défaut. Cela signifie que, pour utiliser SCP comme décrit dans votre question, vous devrez d'abord installer une application serveur SSH sur votre appareil.
  • FTP : Contrairement à ce que vous supposiez dans votre question, le FTP peut être scripté. Mais cela peut ne pas être aussi simple qu'une simple commande scp. Et comme avec SSH, vous devrez d'abord installer une application serveur FTP sur votre appareil également.
    Note importante : De nombreux clients/connexions FTP sont configurés par défaut en mode de transfert ASCII. Si vous souhaitez copier des fichiers binaires (essentiellement : des fichiers non textuels) comme des images, de l'audio/vidéo, etc., assurez-vous d'être en mode binaire (lorsque vous utilisez la ligne de commande, cela peut être fait en émettant la commande bin). Sinon, vous pourriez obtenir des "fichiers corrompus" à l'arrivée.
  • ADB : C'est une option avec laquelle Android est même livré, mais par défaut liée à une connexion USB. Vous aurez simplement besoin d'activer le Débogage USB dans les paramètres pour développeurs, connecter votre appareil via USB, puis vous pourrez utiliser des commandes comme adb push ou adb pull pour mettre des fichiers sur votre appareil ou les récupérer de là. Si vous préférez le faire via WiFi, plusieurs applications le permettent également.

Il pourrait y avoir d'autres possibilités, mais les trois citées ci-dessus sont les plus utilisées.

0 votes

Merci pour votre réponse. J'ai réussi à connecter mon téléphone Android en connexion ftp. Lorsque j'ai exécuté la commande : put /home/user/picture.jpg le résultat est 551 /home/user/picture.jpg : erreur sur le fichier de sortie

0 votes

Désolé, mais je ne peux pas vous aider avec ça. Peut-être poser une nouvelle question, et inclure également des détails sur le serveur FTP que vous utilisez, et la séquence exacte des commandes ? Je ne peux que supposer que vous n'avez pas la permission d'écriture sur le dossier cible, ou qu'il n'y a pas assez d'espace disponible (mais cela devrait donner des codes d'erreur différents). La liste des codes de retour du serveur FTP indique pour 551 : Type de page inconnu. Aucune idée de ce que cela veut dire.

0 votes

Mise à jour : Je ne sais pas ce que j'ai changé, mais lorsque j'ai retenté la commande ftp, cela a enfin fonctionné ! Le fichier image a été envoyé avec succès mais l'image est cassée. Je ne sais pas pourquoi. Merci pour l'aide @Izzy. De toute façon, je suis toujours curieux de savoir pourquoi la communication ssh ne fonctionne pas.

0voto

Andy Brudtkuhl Points 1714

Vous pouvez utiliser scp si vous le souhaitez, mais vous devez d'abord installer un serveur SSH sur le téléphone. Android ne vient pas avec un activé par défaut : cela serait un cauchemar en termes de sécurité. Il y en a beaucoup à choisir sur Google Play.

0 votes

Merci pour votre réponse. J'ai téléchargé ''serveur ssh'' sur mon Android. Je commence par ajouter le serveur, définir le nom du serveur et le port. J'ai également coché l'option activer scp et enfin démarrer le serveur. J'ai exécuté la commande : scp /home/user/picture1.jpg android@192.168.1.105:48503:/storage/sdcard0/Download mais la connexion a été refusée. Ai-je commis une erreur dans ma commande?

0 votes

Ma première suggestion serait de faire un ping sur le téléphone, afin de vérifier si l'adresse IP est correcte et si le routeur Wi-Fi ne bloque pas la connexion.

0 votes

PING 192.168.1.105 (192.168.1.105) 56(84) bytes of data. --- 192.168.1.105 statistiques ping --- 10 paquets transmis, 9 reçus, perte de paquets de 10%, temps 9011ms. Le téléphone est connecté

0voto

TheYorickable Points 41

Si vous êtes sur le même réseau wi-fi que votre téléphone mobile et que vous avez la possibilité d'utiliser ADB, je recommanderais d'utiliser ADB sans fil. Configurez ADB sans fil sur votre téléphone et ADB sur votre PC. Ensuite, il vous suffit de taper

adb connect

Et lorsque l'appareil est connecté, vous pouvez utiliser

adb push /chemin/fichier/local /chemin/emplacement/à/distance/

0 votes

Merci pour votre réponse. Je suis actuellement en train de télécharger androidSDK, donc cela pourrait prendre un certain temps avant que je puisse tester en utilisant adb.

0voto

Varun Thomas Points 1

Si vous utilisez Wifi,

A travers ESFileExplorer, vous pouvez créer un serveur FTP pour votre système de fichiers Mac ou Unix et copier les fichiers en vol.

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