[java] lister fichier d'une machine distante

Fermé
subgenk Messages postés 85 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 20 décembre 2012 - 27 avril 2010 à 09:10
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 27 avril 2010 à 11:33
Bonjour,

Ma question découle aisément de mon titre, mais pour plus de précisions je vais rajouter un petit peu de concret. Voilà je ne m'y connais pas trop en réseaux via java.

Imaginons que je suis sur une machine m01 et que j'ai un serveur du nom de S01.société.int contenant des services qu'il exécute sous forme de scripts contenus dans des répertoires de ce dernier. Je peux moi accéder à ce dernier via un login : root et un mot de passe : azerty.

Ce que j'aimerai pouvoir faire, c'est depuis ma machine, avoir un programme java qui se connecte au serveur et après pouvoir récupérer les informations sur les fichiers/dossiers qu'il contient.

Je ne connais pas assez bien le domaine réseaux java pour pouvoir réaliser ça, quelqu'un aurait-il une piste ou un tutoriel ou même un petit programme d'exemple ?

A voir également:

4 réponses

choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
27 avril 2010 à 09:17
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
27 avril 2010 à 09:48
Je ne suis pas sur de tout saisir.
Tu as un serveur S01 sur lequel tu peux te connecter. Mais par quel protocole ?
S01 offre des services, il y en a peu être un qui te permettrait de récupérer ta liste.
Je ne vois que deux solution : utiliser un service existant (ftp, telnet, connection) dont tu implémente un client dans ton programme JAVA.
Ou alors créer toi même un petit serveur que tu lancera sur S01, et un client lancé sur m01 récupérant les informations.
Cette dernière solution a l'avantage de la simplicité, mais attention aux failles de sécurité que tu pourrais introduire.
0
subgenk Messages postés 85 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 20 décembre 2012 5
27 avril 2010 à 09:59
En fait je me sers depuis ma machine de putty via le protocol ssh pour m'y connecter, ensuite il me demande un login mot de passe et ensuite cela me donne comme une console linux où je peux faire mes ls etc...

J'aimerai en gros pouvoir récupérer les listes de fichiers au sein du serveur depuis ma machine..

En fait je voudrais un mix entre une fonction qui liste l'arborescence d'un repertoire, et une fonction qui se connecte à une machine distante. En gros je voudrais pouvoir faire une fonction qui liste l'arborescence d'un répertoire d'une machine distante.

Je sais pas si c'est plus clair ?
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
27 avril 2010 à 11:33
déjà c'est plus clair, il y a ssh.
ssh est un protocole crypté, il est donc difficile de coder de base, il faut se fournir une bibliothèque ssh afin de se connecter et d'effectué ce que tu veux.
D'un autre coté, avec ssh tu peux faire des choses en script. En particulier si tu définies les clé d'identification RSA, tu peux te connecter sans entrer le mdp.
à partir de là tu peux faire des script. C'est ce qu'il y a de plus simple pour ce que tu veux faire.
par exemple : ssh -t S01.inter "ls /www/scriptJS" te listera le contenu de /www/scriptJS et l'affichera dans la console.
0
subgenk Messages postés 85 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 20 décembre 2012 5
27 avril 2010 à 09:47
Oui je connais cette techno, du moins pour l'avoir fait lors de quelques TP il y a un moment, mais si je me souviens bien cela permet d'avoir un transfert de flux de données et non pas de ce connecter à un machine avec un login mot de passe. Non ?

De plus, en admettant que ça marche, j'ai pour le moment fais :

Socket s = new Socket("s01.societe.int",22);


le serveur s'appelle s01.societe.int et le port 22 est le port dont je me sers pour me connecter au serveur via une interface linux (putty).

En fait là je cherche vraiment à pouvoir naviguer au sein du serveur distant, je ne connais que son adresse, le port, le login et mot de passe dont je me sers pour naviguer via l'interface de putty
-1