[...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
hexomon
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 27 sept. 2014 22:58
Status : Hors ligne

[...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

#1

Message par hexomon »

Bonjour,

Je cherche à faire un script qui automatise des connexions sur un grand nombre de serveurs linux/unix pour y exécuter quelques commandes assez basiques. Pour cela j'utilise plink et la commande Run d'autoit, le mot de passe doit être entré par l'utilisateur dans une GUI.

Je rencontre deux problèmes :
1 - En passant la commande de test ci-dessous, je me rends compte que la variable Password passe en clair dans le gestionnaire de taches. Le mot de passe est donc logiquement sécurisé par le ssh sur le réseau, mais ça ne me plaît pas du tout de l'avoir en clair dans la liste des process. Voici la commande :
$Result=Run("plink -ssh Moi@adressip" & " -pw " & $Password)

2- Quand je veux récupérer le résultat de $Result en y ajoutant une commande basique comme un ls, je n'obtiens pas le résultat d'un ls dans la msgbox mais un chiffre... J'aurai aimé récupérer le resultat du ls, mais il doit manquer quelque chose. Exemple de commande :
$Result=Run("plink -ssh Moi@adressip" & " -pw " & $Password & " " & "ls")
=> $Result me rend un chiffre, pas la liste du ls...

Je suis débutant, ça me paraît important de le préciser à ce stade :mrgreen: .

Merci d'avance à ceux qui pourront me donner un coup de main :wink: , et bonne soirée à tous !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

#2

Message par jguinch »

Pour le mot de passe, c'est franchement pas gagné... Je sais même pas si c'est possible. La seule solution propre est certainement d'utiliser une clé publique. Voir ici : http://the.earth.li/~sgtatham/putty/0.5 ... sage-batch / http://the.earth.li/~sgtatham/putty/0.6 ... tml#pubkey

Pour le 2ème point, la commande Run te retourne l'ID du process. Pour extraire le flux de sortie, il faut utiliser Stdoutread (voir le fichier d'aide).

Code : Tout sélectionner

#Include <AutoItConstants.au3>

$PlinkDir = @ScriptDir

$iPID = Run(@ComSpec & " /c " & $PlinkDir & "\plink.exe serveur -l login -pw P@$$w0rd! ls -l", "", @SW_HIDE,$STDIN_CHILD)
ProcessWaitClose($iPid)
$sOutput = StdoutRead($iPID)

MsgBox(0, "Output", $sOutput)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
hexomon
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 27 sept. 2014 22:58
Status : Hors ligne

Re: [...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

#3

Message par hexomon »

Merci beaucoup à toi !
Je vais étudier de près toutes ces infos et voir ce que je peux faire. Si quelqu'un d'autre veut s'exprimer, qu'il n'hésite pas (surtout par rapport au point 1).

A + :) !
Répondre