IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Connexion à un serveur en SSH


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Par défaut Connexion à un serveur en SSH
    Bonjour,

    J'ai un centre de serveur, le seul moyen d'y accéder c'est à partir d'une connexion putty, en voici un exemple d'accès :

    Nom : putty1.jpg
Affichages : 238
Taille : 41,9 Ko

    Nom : putty2.jpg
Affichages : 247
Taille : 59,6 Ko

    Nom : putty3.jpg
Affichages : 246
Taille : 88,9 Ko

    Nom : putty4.jpg
Affichages : 238
Taille : 22,2 Ko

    Donc on passe par une interface graphique afin de pouvoir passer en ligne de commande.
    Je suis entrain de réfléchir à un moyen d'accès à cette interface graphique à partir d'un programme java ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Tu devrai chercher sur le web des application java avec les mots clés "telnet ssh"

    Il semble qu'il y ai déjà des projets dans ce domaines :
    http://www.jcraft.com/jsch/
    http://sourceforge.net/projects/jsat/

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Par défaut
    Merci pour les liens,

    Je me suis servi du jsch pour me connecter au serveur, par contre l'interface graphique est mal affichée sur la console d'exécution d'eclipse :

    Nom : X11Forwarding.jpg
Affichages : 234
Taille : 174,0 Ko

    Et par conséquent je peux pas naviguer dans le menu graphique. Y a-t-il une astuce pour ça ?

    Merci

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    La problématique c'est que ton serveur te renvoie un affichage type MS-DOS.
    Normalement, chaque caractères à une représentation spécifique. (Bordure ect...). Je n'ai jamais eu à faire à ce type d'encodage personnellement.
    Peut-être qu'affiché dans un composant Swing type TextField tu aura plus de chance d'avoir la représentation graphique des caractères à la place de de la valeur encodé...
    Mais, je n'y crois pas beaucoup.
    Le plus simple serai d'éviter cette partie graphique... Et avoir une vraie ligne de commande SSH.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Par défaut
    Merci,

    Je veux aussi éviter cette partie graphique, mais le problème, c'est que pour accéder au commande SSH je dois passer par le menu que j'ai envoyé dans mon 1er post.
    En fait pour que j'accède au commande SSH je dois appuyer 2 fois sur la touche Entrée ensuite flèche bas ensuite Entrée. Tu penses que c'est possible d'envoyer ces commandes ?

    Cordialement,

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Je pense que c'est possible.
    Ce n'est pas parce qu'il de fournit un flux pas propre que tu ne peux pas lui envoyer ta réponse !
    Tu as mappé la sortie de jsch sur la console. Via un code existant ? Si c'est le cas peut-être que l'input console est déjà mappé aussi. Sinon, il va falloir lire la documentation.

    Dans tout les cas tient nous au courant, car c'est un sujet intéressant !

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  7. #7
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Par défaut
    Oui j'ai trouvé un code existant.
    Le voici :

    http://www.jcraft.com/jsch/examples/X11Forwarding.java

    L'input/output est fait sur ces 2 lignes de codes :

    channel.setInputStream(System.in);
    channel.setOutputStream(System.out);


    ça fonctionne bien quand j’appuie sur la touche Entrée, mais la flèche il n'a pas l'air de la bien comprendre, j'aimerai bien envoyer ces commandes directement sur le code mais je ne sais pas faire.
    Y a aussi la méthode channel.setCommand() qui permet d'envoyer des commandes SSH mais je connais pas le code de la touche Entrée et flèche bas pour l'envoyer.

    Cordialement,

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Pour info, le serveur t'envoie quelque chose de propre, c'est juste qu'il s’attend naturellement à ce que tu supporte les séquences d'échappement ansi, indispensables pour que cette interface écrite avec dialog puisse fonctionner. Il faut aussi que tu utilise une police de caractère spécifique.
    http://en.wikipedia.org/wiki/ANSI_escape_code


    Bref, si tu veux supporter une console comme putty en java, il va falloir que tu fasse tout le travail que putty fait: négocier le type de terminal, décoder les séquences d'échappement, etc.

    Tu peux bien sûr cacher tout ce caca à l'utilisateur pou renvoyer directement les commande clavier en automatique si le but est de lui éviter de passer par là. Mais tu va quand même devoir décoder les couleurs par la suite, puisque je vois que la console finale est aussi en couleurs

  9. #9
    Membre confirmé
    Inscrit en
    Février 2013
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 34
    Par défaut
    Avec jsch on peut ouvrir des flux de texte sur un shell distant .
    Mais pour ça il te faut les droits de lancer un shell. Si t'as accès qu'a x11 tu vas en chier ..
    http://www.jcraft.com/jsch/examples/Shell.java.html

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/08/2014, 10h17
  2. SAS/Connect protocole de connexion au serveur distant UNIX ? TELNET, SSH ?
    Par alexd dans le forum Administration et Installation
    Réponses: 3
    Dernier message: 27/08/2014, 17h29
  3. Réponses: 0
    Dernier message: 28/10/2009, 07h00
  4. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58
  5. Réponses: 4
    Dernier message: 04/07/2002, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo