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

Linux Discussion :

Utilisation de Putty (plink) et exécution d'une commande distante


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Utilisation de Putty (plink) et exécution d'une commande distante
    Bonjour tout le monde,

    avant toute chose, sachez que j'ai passé la journée à faire des recherches et des essais, maintenant je me retourne vers vous pour tenter de trouver la solution !

    Le contexte :
    Un PC distant sous Linux (Debian 7.6.0) sur lequel le serveur ssh tourne et est bien configuré.
    Un PC local sous Windows, avec openssh et putty en place.

    Je cherche à exécuter sur la machine distante un exécutable et j'aimerais qu'il continue à tourner malgré la fermeture de la session putty.

    Mon programme à une sortie texte (stdout) pour les traces, mais ceci m'importe peu. Quand je fais le lancement à distance, tout s'exécute mais : je reste bloqué dans ma console DOS sur ma machine locale, et si je quitte, ça kill le process. (j'utilise ps -ef sur la machine distante pour vérifier que le processus est toujours actif)

    Pour exécuter mon programme, j'utilise plink.exe avec la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog"
    La ça tourne, je vois en local ce qui est exécuté en distant, mais si je fais un Ctrl+C, forcément ça ferme le programme et rend la main.
    Alors j'ai essayé, de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog &" => Sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "nohup sudo /home/utilisateur/workspace/prog/Debug/prog" => sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "nohup sudo /home/utilisateur/workspace/prog/Debug/prog &"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog > /etc/null" (et les variantes autour...) => sans succès
    Et j'ai même fait un fichier de commande pour le faire exécuter à plink (option -m) et un script sh.

    Mais rien n'y fait, ou ça me bloque dans l'exécution de mon programme, ou ça le kill directement ou ça ne le démarre même pas.

    Avez-vous une idée de comment l'exécuter sur la machine distante, qu'il reste actif, et que je puisse continuer à dérouler des commandes plink, puis même à ferme la session ?

    L'autre solution est de passer par (open) ssh, mais le problème est le mot de passe obligatoire, mon besoin est de lancer un script (batch) sous Windows, puis faire tourner des process sur le PC distant.
    J'ai bien essayé aussi avec une clé publique, mais ça ne change rien.

    Je vous remercie d'avance pour cette contribution, et je pense que ça peut intéresser pas mal de monde tout ça

    A +
    nbrau

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    Utilisez screen.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Je vous remercie pour votre réponse si rapide !
    Je viens de regarder sur google, je pense ne pas avoir fait les bonnes recherches, pourriez-vous me donner un lien pour l'utilisation sous Windows si ce n'est pas trop demander?
    En fait le problème du mot clé screen, c'est que ça lie souvent les résultats aux commandes pour les écrans, résolution etc.. bien qu'on trouve du remote aussi...

    Je vous remercie par avance !

  4. #4
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    Regardez ici.
    Cela devrait vous éclaircir.
    Sinon sur votre serveur linux taper man screen devrait être très utile.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Ah pas mal, merci beaucoup !
    J'étais en train d'écrire un client/serveur pour faire des exécutions à distances, au pire je pourrai toujours donner le code c++ ici.

    En tout cas, plus c'est simple, intégré et stable, plus ça me va !!

    Merci beaucoup !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Et pour ceux que ça intéressent voici la solution en détails :

    On installe screen sur le PC Linux (sudo apt-get install screen)
    Ensuite sous Windows, avec putty (plink) la commande qui va bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip_du_serveur "screen -dms un_nom_de_session_au_pif sudo /home/utilisateur/workspace/prog/D
    ebug/prog"
    Et là, putty lance bien la commande, et on a à nouveau la main pour continuer !
    Dans les process Linux on retrouve bien le programme qui tourne,

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 30/05/2006, 19h38
  2. Exécution d'une commande dans un Trigger
    Par Perr1 dans le forum Oracle
    Réponses: 6
    Dernier message: 08/04/2006, 00h14
  3. [VB]Problème d'exécution d'une commande dos...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 17/02/2006, 12h28
  4. Réponses: 6
    Dernier message: 09/11/2005, 17h29
  5. [Système] Pb exécution d'une commande externe
    Par licorne dans le forum Langage
    Réponses: 9
    Dernier message: 19/10/2005, 16h34

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